summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-05-17 11:39:49 +0300
committerAndrew Dolgov <fox@fakecake.org>2025-05-17 11:39:49 +0300
commit69c0752daaaa2615bee3bd51913e65e85f40dad4 (patch)
tree237d794ebb57367b69a13afd38456feddef76968
parent4715cc93f9e4b0dde090288aac6fa7abf834636c (diff)
switch to observable values to display swipe indicator
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java6
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java2
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java22
3 files changed, 14 insertions, 16 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java
index 2a6b4b3e..2b596828 100644
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleModel.java
@@ -212,23 +212,21 @@ public class ArticleModel extends AndroidViewModel implements ApiCommon.ApiCalle
}
m_offset += m_amountLoaded;
- m_isLoading.postValue(false);
Log.d(TAG, this + " loaded headlines=" + m_amountLoaded + " resultingLocalSize=" + articlesWork.size());
}
} catch (Exception e) {
e.printStackTrace();
}
+
}
m_mainHandler.post(() -> {
m_articles.setValue(articlesWork);
m_lastUpdate.setValue(System.currentTimeMillis());
+ m_isLoading.postValue(false);
});
});
-
- m_isLoading.postValue(false);
-
}
private int getSkip(boolean append, ArticleList articles) {
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java
index 6fe2144a..07bffaef 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java
@@ -300,7 +300,7 @@ public class FeedsFragment extends Fragment implements OnSharedPreferenceChangeL
});
model.getFeeds().observe(getActivity(), feeds -> {
- Log.d(TAG, "observed feeds=" + feeds);
+ Log.d(TAG, "observed feeds size=" + feeds.size());
if (isAdded()) {
onFeedsLoaded(feeds);
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 dba0ac47..8c24a14a 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
@@ -475,8 +475,17 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment {
ArticleModel model = Application.getArticlesModel();
+ model.getIsLoading().observe(getActivity(), isLoading -> {
+ Log.d(TAG, "observed headlines isLoading=" + isLoading);
+
+ if (m_swipeLayout != null)
+ m_swipeLayout.setRefreshing(isLoading);
+ });
+
// this gets notified on loading %
model.getLoadingProgress().observe(getActivity(), progress -> {
+ Log.d(TAG, "observed headlines loading progress=" + progress);
+
m_listener.onHeadlinesLoadingProgress(progress);
});
@@ -485,7 +494,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment {
if (lastUpdate > 0) {
ArticleList tmp = new ArticleList(model.getArticles().getValue());
- Log.d(TAG, "observed last update=" + lastUpdate + " article count=" + tmp.size());
+ Log.d(TAG, "observed headlines last update=" + lastUpdate + " article count=" + tmp.size());
if (m_prefs.getBoolean("headlines_mark_read_scroll", false))
tmp.add(new Article(Article.TYPE_AMR_FOOTER));
@@ -496,9 +505,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment {
if (!appended)
m_list.scrollToPosition(0);
- if (m_swipeLayout != null)
- m_swipeLayout.setRefreshing(false);
-
m_isLazyLoading = false;
m_listener.onHeadlinesLoaded(appended);
@@ -511,9 +517,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment {
if (model.getLastError() != null && model.getLastError() != ApiCommon.ApiError.SUCCESS) {
- if (m_swipeLayout != null)
- m_swipeLayout.setRefreshing(false);
-
m_isLazyLoading = false;
if (model.getLastError() == ApiCommon.ApiError.LOGIN_FAILED) {
@@ -534,7 +537,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment {
// loaded articles might get modified for all sorts of reasons
model.getArticles().observe(getActivity(), articles -> {
- Log.d(TAG, "observed article list size=" + articles.size());
+ Log.d(TAG, "observed headlines article list size=" + articles.size());
ArticleList tmp = new ArticleList(articles);
@@ -584,9 +587,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment {
if (!append)
m_activeArticleId = -1;
- if (m_swipeLayout != null)
- m_swipeLayout.setRefreshing(true);
-
model.setSearchQuery(getSearchQuery());
model.startLoading(append, m_feed, m_activity.getResizeWidth());
}