diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-14 15:38:41 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-14 15:38:41 +0300 |
| commit | 49e4eca4dba721390043140e816c23cb8846d5a6 (patch) | |
| tree | 2785952e7249ed984b1988343949248a8d167da8 | |
| parent | 48f48eb404fc533747835c7a0039c40a92879fa0 (diff) | |
trigger lazy load after a short delay, set some model methods to private
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java | 8 | ||||
| -rw-r--r-- | org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesModel.java | 8 |
2 files changed, 9 insertions, 7 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 e75d4ba4..ab9e9f96 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 @@ -436,15 +436,15 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { HeadlinesModel model = Application.getInstance().getHeadlinesModel(); - if (dy > 0 && !m_isLazyLoading && model.lazyLoadEnabled() && + if (dy > 0 && !m_isLazyLoading && !model.isLoading() && model.lazyLoadEnabled() && lastVisibleItem >= Application.getArticles().size() - 5) { - m_isLazyLoading = true; - Log.d(TAG, "attempting to lazy load more articles..."); + m_isLazyLoading = true; + // this has to be dispatched delayed, consequent adapter updates are forbidden in scroll handler - new Handler().postDelayed(() -> refresh(true), 0); + new Handler().postDelayed(() -> refresh(true), 250); } } }); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesModel.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesModel.java index 08adb73b..cc8a9d3d 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesModel.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesModel.java @@ -64,7 +64,6 @@ public class HeadlinesModel extends AndroidViewModel implements ApiCommon.ApiCal public LiveData<ArticleList> getLiveData() { return m_articles; - } public ArticleList getArticles() { @@ -98,13 +97,13 @@ public class HeadlinesModel extends AndroidViewModel implements ApiCommon.ApiCal } } - public void forceLoad() { + private void forceLoad() { Log.d(TAG, "forceLoad"); m_articles.postValue(loadInBackground()); } - public ArticleList loadInBackground() { + private ArticleList loadInBackground() { Log.d(TAG, this + " loadInBackground append=" + m_append + " offset=" + m_offset); ArticleList articlesWork = new ArticleList(); @@ -314,4 +313,7 @@ public class HeadlinesModel extends AndroidViewModel implements ApiCommon.ApiCal return m_lastErrorMessage; } + public boolean isLoading() { + return m_loadingInProgress; + } } |