headlines fragment: inject footer on setarticles()

top changed: notify via snackbar
remove some unused views
This commit is contained in:
Andrew Dolgov 2017-06-06 18:07:01 +03:00
parent 1f01a82fb5
commit 31858ef90a
5 changed files with 13 additions and 68 deletions

View File

@ -623,7 +623,14 @@ public class HeadlinesFragment extends Fragment {
//Log.d(TAG, "first id changed, disabling lazy load"); //Log.d(TAG, "first id changed, disabling lazy load");
if (!(m_activity instanceof DetailActivity)) { if (!(m_activity instanceof DetailActivity)) {
m_articles.add(new Article(Article.TYPE_TOP_CHANGED));
Snackbar.make(getView(), R.string.headlines_row_top_changed, Snackbar.LENGTH_LONG)
.setAction(R.string.reload, new OnClickListener() {
@Override
public void onClick(View v) {
refresh(false);
}
}).show();
} }
} }
@ -775,7 +782,6 @@ public class HeadlinesFragment extends Fragment {
public ImageView textChecked; public ImageView textChecked;
public View headlineHeader; public View headlineHeader;
public View flavorImageOverflow; public View flavorImageOverflow;
public View rowTopChanged;
public TextureView flavorVideoView; public TextureView flavorVideoView;
//public int position; //public int position;
public boolean flavorImageEmbedded; public boolean flavorImageEmbedded;
@ -817,7 +823,6 @@ public class HeadlinesFragment extends Fragment {
textImage = (ImageView) v.findViewById(R.id.text_image); textImage = (ImageView) v.findViewById(R.id.text_image);
textChecked = (ImageView) v.findViewById(R.id.text_checked); textChecked = (ImageView) v.findViewById(R.id.text_checked);
headlineHeader = v.findViewById(R.id.headline_header); headlineHeader = v.findViewById(R.id.headline_header);
rowTopChanged = v.findViewById(R.id.headlines_row_top_changed);
flavorImageOverflow = v.findViewById(R.id.gallery_overflow); flavorImageOverflow = v.findViewById(R.id.gallery_overflow);
flavorVideoView = (TextureView) v.findViewById(R.id.flavor_video); flavorVideoView = (TextureView) v.findViewById(R.id.flavor_video);
@ -866,8 +871,7 @@ public class HeadlinesFragment extends Fragment {
public static final int VIEW_SELECTED = 2; public static final int VIEW_SELECTED = 2;
public static final int VIEW_SELECTED_UNREAD = 3; public static final int VIEW_SELECTED_UNREAD = 3;
public static final int VIEW_LOADMORE = 4; public static final int VIEW_LOADMORE = 4;
public static final int VIEW_TOP_CHANGED = 5; public static final int VIEW_AMR_FOOTER = 5;
public static final int VIEW_AMR_FOOTER = 6;
public static final int VIEW_COUNT = VIEW_AMR_FOOTER + 1; public static final int VIEW_COUNT = VIEW_AMR_FOOTER + 1;
@ -919,9 +923,6 @@ public class HeadlinesFragment extends Fragment {
case VIEW_AMR_FOOTER: case VIEW_AMR_FOOTER:
layoutId = R.layout.headlines_footer; layoutId = R.layout.headlines_footer;
break; break;
case VIEW_TOP_CHANGED:
layoutId = R.layout.headlines_row_top_changed;
break;
case VIEW_LOADMORE: case VIEW_LOADMORE:
layoutId = R.layout.headlines_row_loadmore; layoutId = R.layout.headlines_row_loadmore;
break; break;
@ -960,15 +961,6 @@ public class HeadlinesFragment extends Fragment {
holder.view.setLayoutParams(new ListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT, screenHeight)); holder.view.setLayoutParams(new ListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT, screenHeight));
} }
if (holder.rowTopChanged != null) {
holder.rowTopChanged.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
refresh(false);
}
});
}
// nothing else of interest for those below anyway // nothing else of interest for those below anyway
if (article.id < 0) return; if (article.id < 0) return;
@ -1499,8 +1491,6 @@ public class HeadlinesFragment extends Fragment {
return VIEW_AMR_FOOTER; return VIEW_AMR_FOOTER;
} else if (a.id == Article.TYPE_LOADMORE) { } else if (a.id == Article.TYPE_LOADMORE) {
return VIEW_LOADMORE; return VIEW_LOADMORE;
} else if (a.id == Article.TYPE_TOP_CHANGED) {
return VIEW_TOP_CHANGED;
} else if (m_activeArticle != null && a.id == m_activeArticle.id && a.unread) { } else if (m_activeArticle != null && a.id == m_activeArticle.id && a.unread) {
return VIEW_SELECTED_UNREAD; return VIEW_SELECTED_UNREAD;
} else if (m_activeArticle != null && a.id == m_activeArticle.id) { } else if (m_activeArticle != null && a.id == m_activeArticle.id) {
@ -1804,6 +1794,9 @@ public class HeadlinesFragment extends Fragment {
public void setArticles(ArticleList articles) { public void setArticles(ArticleList articles) {
m_articles.clear(); m_articles.clear();
m_articles.addAll(articles); m_articles.addAll(articles);
m_articles.add(new Article(Article.TYPE_AMR_FOOTER));
m_adapter.notifyDataSetChanged(); m_adapter.notifyDataSetChanged();
} }

View File

@ -16,7 +16,6 @@ import java.util.regex.Pattern;
public class Article implements Parcelable { public class Article implements Parcelable {
public static final int TYPE_LOADMORE = -1; public static final int TYPE_LOADMORE = -1;
public static final int TYPE_AMR_FOOTER = -2; public static final int TYPE_AMR_FOOTER = -2;
public static final int TYPE_TOP_CHANGED = -3;
public int id; public int id;
public boolean unread; public boolean unread;

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/headlines_row_top_changed"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="16dp"
android:orientation="horizontal" >
<TextView
android:background="@drawable/ripple"
android:id="@+id/top_changed_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="?headlineExcerptTextColor"
android:text="@string/headlines_row_top_changed" />
</LinearLayout>

View File

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/headlines_row_undo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="?colorPrimaryDark"
android:orientation="horizontal"
android:paddingLeft="16dp"
android:weightSum="1">
<TextView
android:background="@drawable/ripple"
android:id="@+id/top_changed_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/primary_text_dark"
android:text="@string/headline_undo_row_prompt"
android:layout_weight="1" />
<Button
android:background="@drawable/ripple"
android:id="@+id/headlines_row_undo_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/primary_text_dark"
android:text="@string/headline_undo_row_button" />
</LinearLayout>

View File

@ -254,4 +254,5 @@
<string name="pref_widget_background">Widget theme</string> <string name="pref_widget_background">Widget theme</string>
<string name="pref_widget_update_interval_summary">This interval is imprecise due to Android limitations</string> <string name="pref_widget_update_interval_summary">This interval is imprecise due to Android limitations</string>
<string name="prefs_offline_sort_by_feed">Group headlines by feeds</string> <string name="prefs_offline_sort_by_feed">Group headlines by feeds</string>
<string name="reload">Reload</string>
</resources> </resources>