summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java35
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesLoader.java6
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();