diff options
| -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; + } } |