From 02a8162956d34e785721d80e6baa5d84e5d837e8 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 29 Aug 2013 13:15:11 +0400 Subject: [PATCH] disable auto mark as read temporarily when scrolling listview back to top because of new items (refs #767) --- src/org/fox/ttrss/HeadlinesFragment.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java index 63929fa1..31dcdf5e 100644 --- a/src/org/fox/ttrss/HeadlinesFragment.java +++ b/src/org/fox/ttrss/HeadlinesFragment.java @@ -65,6 +65,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, private Article m_activeArticle; private String m_searchQuery = ""; private boolean m_refreshInProgress = false; + private boolean m_autoCatchupDisabled = false; private SharedPreferences m_prefs; @@ -376,7 +377,9 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, if (getView() != null) { Log.d(TAG, "scroll hack"); ListView list = (ListView)getView().findViewById(R.id.headlines); + m_autoCatchupDisabled = true; list.smoothScrollToPosition(0); + m_autoCatchupDisabled = false; } } @@ -878,7 +881,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, refresh(true); } - if (m_prefs.getBoolean("headlines_mark_read_scroll", false) && firstVisibleItem > 0) { + if (m_prefs.getBoolean("headlines_mark_read_scroll", false) && firstVisibleItem > 0 && !m_autoCatchupDisabled) { Article a = m_articles.get(firstVisibleItem - 1); if (a != null && a.unread) {