summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java3
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java22
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java30
3 files changed, 22 insertions, 33 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java
index eba87ab9..91c31ef3 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java
@@ -28,7 +28,6 @@ public class ArticlePager extends androidx.fragment.app.Fragment {
private int m_articleId;
private OnlineActivity m_activity;
private Feed m_feed;
- private int m_firstId = 0;
private ViewPager2 m_pager;
private static class PagerAdapter extends FragmentStateAdapter {
@@ -74,7 +73,6 @@ public class ArticlePager extends androidx.fragment.app.Fragment {
out.putInt("m_articleId", m_articleId);
out.putParcelable("m_feed", m_feed);
- out.putInt("m_firstId", m_firstId);
}
@Override
@@ -84,7 +82,6 @@ public class ArticlePager extends androidx.fragment.app.Fragment {
if (savedInstanceState != null) {
m_articleId = savedInstanceState.getInt("m_articleId");
m_feed = savedInstanceState.getParcelable("m_feed");
- m_firstId = savedInstanceState.getInt("m_firstId");
}
setRetainInstance(true);
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java
index f0716443..780fd723 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java
@@ -270,10 +270,8 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList
}
@Override
- public void onArticleSelected(final Article article, boolean open) {
-
- if (article == null) return;
-
+ public void onArticleSelected(Article article, boolean open) {
+
if (article.unread) {
article.unread = false;
saveArticleUnread(article);
@@ -281,18 +279,14 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList
if (!getSupportActionBar().isShowing()) getSupportActionBar().show();
- if (open) {
-
- new Handler().postDelayed(() -> {
- ArticlePager ap = (ArticlePager) DetailActivity.this.getSupportFragmentManager().findFragmentByTag(FRAG_ARTICLE);
-
- if (ap != null) {
- ap.setActiveArticleId(article.id);
- }
- }, 250);
+ ArticlePager ap = (ArticlePager) DetailActivity.this.getSupportFragmentManager().findFragmentByTag(FRAG_ARTICLE);
+ HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
+ if (open) {
+ if (ap != null) {
+ ap.setActiveArticleId(article.id);
+ }
} else {
- HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
if (hf != null) {
hf.setActiveArticleId(article.id);
}
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 52fe39c9..92131da5 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
@@ -96,7 +96,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements
@Override
public void onLoadFinished(@NonNull Loader<ArticleList> loader, ArticleList data) {
- Log.d(TAG, "onLoadFinished loader=" + loader);
+ Log.d(TAG, "onLoadFinished loader=" + loader + " size=" + (data != null ? data.size() : "N/A (null)"));
HeadlinesLoader headlinesLoader = (HeadlinesLoader) loader;
@@ -162,8 +162,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements
private int m_activeArticleId;
private String m_searchQuery = "";
private HeadlinesLoader m_loader;
- private int m_firstId = 0;
- //private boolean m_lazyLoadDisabled = false;
private SharedPreferences m_prefs;
@@ -315,7 +313,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements
m_feed = savedInstanceState.getParcelable("m_feed");
m_activeArticleId = savedInstanceState.getInt("m_activeArticleId");
m_searchQuery = savedInstanceState.getString("m_searchQuery");
- m_firstId = savedInstanceState.getInt("m_firstId");
m_compactLayoutMode = savedInstanceState.getBoolean("m_compactLayoutMode");
}
@@ -331,7 +328,6 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements
out.putParcelable("m_feed", m_feed);
out.putInt("m_activeArticleId", m_activeArticleId);
out.putString("m_searchQuery", m_searchQuery);
- out.putInt("m_firstId", m_firstId);
out.putBoolean("m_compactLayoutMode", m_compactLayoutMode);
}
@@ -441,22 +437,24 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment implements
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
- if (newState == RecyclerView.SCROLL_STATE_IDLE && m_prefs.getBoolean("headlines_mark_read_scroll", false)) {
- if (!m_readArticles.isEmpty()) {
- m_activity.toggleArticlesUnread(m_readArticles);
+ if (newState == RecyclerView.SCROLL_STATE_IDLE) {
+ if (m_prefs.getBoolean("headlines_mark_read_scroll", false)) {
+ if (!m_readArticles.isEmpty()) {
+ m_activity.toggleArticlesUnread(m_readArticles);
- for (Article a : m_readArticles) {
- a.unread = false;
+ for (Article a : m_readArticles) {
+ a.unread = false;
- m_adapter.notifyItemChanged(Application.getArticles().getPositionById(a.id));
- }
+ m_adapter.notifyItemChanged(Application.getArticles().getPositionById(a.id));
+ }
- if (m_feed != null)
- m_feed.unread -= m_readArticles.size();
+ if (m_feed != null)
+ m_feed.unread -= m_readArticles.size();
- m_readArticles.clear();
+ m_readArticles.clear();
- new Handler().postDelayed(() -> m_activity.refresh(false), 100);
+ new Handler().postDelayed(() -> m_activity.refresh(false), 100);
+ }
}
int lastVisibleItem = m_layoutManager.findLastVisibleItemPosition();