diff options
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java | 35 | ||||
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java | 6 |
2 files changed, 16 insertions, 25 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index 0030d2a6..abd848d7 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -138,28 +138,28 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements // successful update if (data != null) { - ArticleList articles = Application.getArticles(); - articles.stripFooters(); + // detail activity does not use footers + if (!(m_activity instanceof DetailActivity)) { - DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new HeadlinesDiffutilCallback(articles, data)); + if (headlinesLoader.lazyLoadEnabled()) + data.add(new Article(Article.TYPE_LOADMORE)); - articles.clear(); - articles.addAll(data); + data.add(new Article(Article.TYPE_AMR_FOOTER)); + } - diffResult.dispatchUpdatesTo(m_adapter); + ArticleList sharedArticles = Application.getArticles(); - // detail activity does not use footers (see above) - if (!(m_activity instanceof DetailActivity)) { - articles.add(new Article(Article.TYPE_AMR_FOOTER)); - m_adapter.notifyItemInserted(articles.size()); - } + DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new HeadlinesDiffutilCallback(sharedArticles, data)); + + sharedArticles.clear(); + sharedArticles.addAll(data); + + diffResult.dispatchUpdatesTo(m_adapter); if (!headlinesLoader.getAppend()) m_list.scrollToPosition(0); - //m_adapter.notifyDataSetChanged(); - if (headlinesLoader.getFirstIdChanged()) { //if (m_activity.isSmallScreen() || !m_activity.isPortrait()) { Snackbar.make(getView(), R.string.headlines_row_top_changed, Snackbar.LENGTH_LONG) @@ -576,15 +576,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements } public void refresh(final boolean append) { - - if (!(m_activity instanceof DetailActivity)) { - // detail activity does not use footers because it would break 1-to-1 mapping with pager view - // pager will need to work on a footerless subset of shared article view before this is possible - - Application.getArticles().add(new Article(Article.TYPE_LOADMORE)); - m_adapter.notifyDataSetChanged(); - } - m_loader.refresh(append); } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java index 5cd7503c..a837e0d9 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java @@ -42,7 +42,7 @@ public class HeadlinesLoader extends AsyncTaskLoader<ArticleList> implements Api private int m_amountLoaded; private int m_resizeWidth; private boolean m_append; - private boolean m_lazyLoadEnabled; + private boolean m_lazyLoadEnabled = true; private boolean m_loadingInProgress; HeadlinesLoader(Context context, Feed feed, int resizeWidth) { @@ -190,8 +190,8 @@ public class HeadlinesLoader extends AsyncTaskLoader<ArticleList> implements Api if (skip == 0) m_articles.clear(); - /* else - m_articles.stripFooters(); */ + else + m_articles.stripFooters(); m_amountLoaded = articlesJson.size(); |