From 71b0493d23ff548fe4a0c8e5cf5ab7a59187a05a Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 15:27:54 -0500
Subject: [PATCH 01/19] Mark posts as read on scroll
---
.../redreader/common/PrefsUtility.java | 7 ++++
.../fragments/PostListingFragment.java | 36 +++++++++++++++++++
.../redreader/views/RedditPostView.java | 4 +++
src/main/res/values/strings.xml | 4 +++
src/main/res/xml/prefs_behaviour.xml | 4 +++
5 files changed, 55 insertions(+)
diff --git a/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java b/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java
index 1262439fb..cf671bae0 100644
--- a/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java
+++ b/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java
@@ -113,6 +113,7 @@ public static boolean isRefreshRequired(final Context context, final String key)
|| key.equals(context.getString(R.string.pref_behaviour_fling_post_right_key))
|| key.equals(context.getString(R.string.pref_behaviour_nsfw_key))
|| key.equals(context.getString(R.string.pref_behaviour_postcount_key))
+ || key.equals(context.getString(R.string.pref_behaviour_mark_read_on_scroll_key))
|| key.equals(context.getString(R.string.pref_behaviour_comment_min_key))
|| key.equals(context.getString(R.string.pref_behaviour_pinned_subredditsort_key))
|| key.equals(context.getString(
@@ -1772,6 +1773,12 @@ public static boolean pref_behaviour_keep_screen_awake() {
false);
}
+ public static boolean pref_mark_read_on_scroll() {
+ return getBoolean(
+ R.string.pref_behaviour_mark_read_on_scroll_key,
+ false);
+ }
+
@Nullable
public static String pref_reddit_client_id_override() {
final String value = getString(R.string.pref_reddit_client_id_override_key, null);
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index 573aebabd..35ff620bf 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -526,6 +526,42 @@ private void onLoadMoreItemsCheck() {
General.checkThisIsUIThread();
+ final LinearLayoutManager layoutManager
+ = (LinearLayoutManager)mRecyclerView.getLayoutManager();
+
+ final boolean markReadOnScroll = PrefsUtility.pref_mark_read_on_scroll();
+
+ if((layoutManager != null) && markReadOnScroll) {
+
+ final int firstVisibleItemPosition
+ = layoutManager.findFirstVisibleItemPosition();
+
+ final int firstCompletelyVisibleItemPosition
+ = layoutManager.findFirstCompletelyVisibleItemPosition();
+
+ // Mark the first visible post read on scroll
+ if(firstVisibleItemPosition >= 1
+ && firstCompletelyVisibleItemPosition != 0) {
+
+ final RedditPostView view = (RedditPostView) layoutManager.getChildAt(0);
+
+ final int position =
+ (view != null) ? layoutManager.getPosition(view) : RecyclerView.NO_POSITION;
+
+ final RedditPreparedPost post
+ = (position == firstVisibleItemPosition) ? view.getPost() : null;
+
+ if ((post != null) && !post.isRead()) {
+ new Thread() {
+ @Override
+ public void run() {
+ post.markAsRead(getActivity());
+ }
+ }.start();
+ }
+ }
+ }
+
if(mReadyToDownloadMore && mAfter != null && !mAfter.equals(mLastAfter)) {
final LinearLayoutManager layoutManager
diff --git a/src/main/java/org/quantumbadger/redreader/views/RedditPostView.java b/src/main/java/org/quantumbadger/redreader/views/RedditPostView.java
index 6bce3e40d..c43697c7d 100644
--- a/src/main/java/org/quantumbadger/redreader/views/RedditPostView.java
+++ b/src/main/java/org/quantumbadger/redreader/views/RedditPostView.java
@@ -667,4 +667,8 @@ private void showPrefPrompt() {
.apply();
});
}
+
+ @Nullable public RedditPreparedPost getPost() {
+ return mPost;
+ }
}
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 89b7aa7e2..2e4e14641 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -1907,4 +1907,8 @@
Change video speed
Choose playback speed
Speed
+
+
+ pref_behaviour_mark_read_on_scroll
+ Mark posts as read on scroll
diff --git a/src/main/res/xml/prefs_behaviour.xml b/src/main/res/xml/prefs_behaviour.xml
index ff44f146e..a5d63882f 100644
--- a/src/main/res/xml/prefs_behaviour.xml
+++ b/src/main/res/xml/prefs_behaviour.xml
@@ -181,6 +181,10 @@
android:entryValues="@array/pref_behaviour_postcount_items_return"
android:defaultValue="ALL"/>
+
+
From 69991cbedfca0bb9d8b137687bd8e1c01c31b764 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 15:45:51 -0500
Subject: [PATCH 02/19] Remove duplicate layoutManager declaration
---
.../quantumbadger/redreader/fragments/PostListingFragment.java | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index 35ff620bf..a77d0f2a7 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -564,9 +564,6 @@ public void run() {
if(mReadyToDownloadMore && mAfter != null && !mAfter.equals(mLastAfter)) {
- final LinearLayoutManager layoutManager
- = (LinearLayoutManager)mRecyclerView.getLayoutManager();
-
if((layoutManager.getItemCount() - layoutManager.findLastVisibleItemPosition()
< 20
&& (mPostCountLimit <= 0 || mPostRefreshCount.get() > 0)
From 1a28ab42f12a2d69d1407fce906738d500e2efc8 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 15:54:11 -0500
Subject: [PATCH 03/19] Cleanup trailing space
---
.../quantumbadger/redreader/fragments/PostListingFragment.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index a77d0f2a7..d535a238a 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -526,7 +526,7 @@ private void onLoadMoreItemsCheck() {
General.checkThisIsUIThread();
- final LinearLayoutManager layoutManager
+ final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
final boolean markReadOnScroll = PrefsUtility.pref_mark_read_on_scroll();
From 67b51b3c6bb616f70156ca065e0a7f4397941554 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 17:12:09 -0500
Subject: [PATCH 04/19] Remove markReadOnScroll variable
---
.../redreader/fragments/PostListingFragment.java | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index d535a238a..ff146a1c1 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -529,9 +529,7 @@ private void onLoadMoreItemsCheck() {
final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
- final boolean markReadOnScroll = PrefsUtility.pref_mark_read_on_scroll();
-
- if((layoutManager != null) && markReadOnScroll) {
+ if((layoutManager != null) && PrefsUtility.pref_mark_read_on_scroll();) {
final int firstVisibleItemPosition
= layoutManager.findFirstVisibleItemPosition();
@@ -539,7 +537,6 @@ private void onLoadMoreItemsCheck() {
final int firstCompletelyVisibleItemPosition
= layoutManager.findFirstCompletelyVisibleItemPosition();
- // Mark the first visible post read on scroll
if(firstVisibleItemPosition >= 1
&& firstCompletelyVisibleItemPosition != 0) {
@@ -551,6 +548,7 @@ private void onLoadMoreItemsCheck() {
final RedditPreparedPost post
= (position == firstVisibleItemPosition) ? view.getPost() : null;
+ // Mark the first visible post read if it is unread
if ((post != null) && !post.isRead()) {
new Thread() {
@Override
From c0a8b972a03379f8a538da617dab9ee03056d392 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 18:48:38 -0500
Subject: [PATCH 05/19] Fix typo in PrefsUtility.pref_mark_read_on_scroll()
---
.../quantumbadger/redreader/fragments/PostListingFragment.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index ff146a1c1..226fd5ca3 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -529,7 +529,7 @@ private void onLoadMoreItemsCheck() {
final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
- if((layoutManager != null) && PrefsUtility.pref_mark_read_on_scroll();) {
+ if((layoutManager != null) && PrefsUtility.pref_mark_read_on_scroll()) {
final int firstVisibleItemPosition
= layoutManager.findFirstVisibleItemPosition();
From c0265469d737252df6b290b9a17fea3b238ea902 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sun, 23 Mar 2025 12:35:02 -0500
Subject: [PATCH 06/19] Refactor for readability
---
.../fragments/PostListingFragment.java | 48 +++++++++++--------
1 file changed, 27 insertions(+), 21 deletions(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index 226fd5ca3..b60d719e4 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -526,42 +526,48 @@ private void onLoadMoreItemsCheck() {
General.checkThisIsUIThread();
- final LinearLayoutManager layoutManager
- = (LinearLayoutManager)mRecyclerView.getLayoutManager();
+ if(PrefsUtility.pref_mark_read_on_scroll()) {
+
+ final LinearLayoutManager layoutManager
+ = (LinearLayoutManager)mRecyclerView.getLayoutManager();
- if((layoutManager != null) && PrefsUtility.pref_mark_read_on_scroll()) {
+ if (layoutManager != null) {
- final int firstVisibleItemPosition
- = layoutManager.findFirstVisibleItemPosition();
+ final int firstVisibleItemPosition
+ = layoutManager.findFirstVisibleItemPosition();
- final int firstCompletelyVisibleItemPosition
- = layoutManager.findFirstCompletelyVisibleItemPosition();
+ final int firstCompletelyVisibleItemPosition
+ = layoutManager.findFirstCompletelyVisibleItemPosition();
- if(firstVisibleItemPosition >= 1
- && firstCompletelyVisibleItemPosition != 0) {
+ if(firstVisibleItemPosition >= 1
+ && firstCompletelyVisibleItemPosition != 0) {
- final RedditPostView view = (RedditPostView) layoutManager.getChildAt(0);
+ final RedditPostView view = (RedditPostView) layoutManager.getChildAt(0);
- final int position =
+ final int position =
(view != null) ? layoutManager.getPosition(view) : RecyclerView.NO_POSITION;
- final RedditPreparedPost post
- = (position == firstVisibleItemPosition) ? view.getPost() : null;
+ final RedditPreparedPost post
+ = (position == firstVisibleItemPosition) ? view.getPost() : null;
- // Mark the first visible post read if it is unread
- if ((post != null) && !post.isRead()) {
- new Thread() {
- @Override
- public void run() {
- post.markAsRead(getActivity());
- }
- }.start();
+ // Mark the first visible post read if it is unread
+ if ((post != null) && !post.isRead()) {
+ new Thread() {
+ @Override
+ public void run() {
+ post.markAsRead(getActivity());
+ }
+ }.start();
+ }
}
}
}
if(mReadyToDownloadMore && mAfter != null && !mAfter.equals(mLastAfter)) {
+ final LinearLayoutManager layoutManager
+ = (LinearLayoutManager)mRecyclerView.getLayoutManager();
+
if((layoutManager.getItemCount() - layoutManager.findLastVisibleItemPosition()
< 20
&& (mPostCountLimit <= 0 || mPostRefreshCount.get() > 0)
From a22105af4772c8d0ed2fb9d998904a08a8fc379e Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sun, 23 Mar 2025 12:37:41 -0500
Subject: [PATCH 07/19] Whitespace cleanup
---
.../quantumbadger/redreader/fragments/PostListingFragment.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index b60d719e4..a0c307b2d 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -567,7 +567,7 @@ public void run() {
final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
-
+
if((layoutManager.getItemCount() - layoutManager.findLastVisibleItemPosition()
< 20
&& (mPostCountLimit <= 0 || mPostRefreshCount.get() > 0)
From c080948d5391aeb8fc4df3a593c4f60438cb40f8 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sun, 23 Mar 2025 12:51:18 -0500
Subject: [PATCH 08/19] More closely match the style of existing code
---
.../redreader/fragments/PostListingFragment.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index a0c307b2d..937536e00 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -531,7 +531,7 @@ private void onLoadMoreItemsCheck() {
final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
- if (layoutManager != null) {
+ if(layoutManager != null) {
final int firstVisibleItemPosition
= layoutManager.findFirstVisibleItemPosition();
@@ -551,7 +551,7 @@ private void onLoadMoreItemsCheck() {
= (position == firstVisibleItemPosition) ? view.getPost() : null;
// Mark the first visible post read if it is unread
- if ((post != null) && !post.isRead()) {
+ if((post != null) && !post.isRead()) {
new Thread() {
@Override
public void run() {
From 6a7564ed638f7526f047860bfcbaba867a84fd79 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Thu, 13 Nov 2025 17:58:44 -0600
Subject: [PATCH 09/19] Prepare for rebase against v1.25 by removing updates to
string.xml
---
src/main/res/values/strings.xml | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 2e4e14641..89b7aa7e2 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -1907,8 +1907,4 @@
Change video speed
Choose playback speed
Speed
-
-
- pref_behaviour_mark_read_on_scroll
- Mark posts as read on scroll
From 811dd82eb6ea44f94e3483f429a0e945b65a0744 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 15:27:54 -0500
Subject: [PATCH 10/19] Mark posts as read on scroll
---
.../redreader/common/PrefsUtility.java | 7 ++++
.../fragments/PostListingFragment.java | 36 +++++++++++++++++++
.../redreader/views/RedditPostView.java | 4 +++
src/main/res/values/strings.xml | 2 +-
src/main/res/xml/prefs_behaviour.xml | 4 +++
5 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java b/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java
index c47ce987d..a8444102a 100644
--- a/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java
+++ b/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java
@@ -114,6 +114,7 @@ public static boolean isRefreshRequired(final Context context, final String key)
|| key.equals(context.getString(R.string.pref_behaviour_fling_post_right_key))
|| key.equals(context.getString(R.string.pref_behaviour_nsfw_key))
|| key.equals(context.getString(R.string.pref_behaviour_postcount_key))
+ || key.equals(context.getString(R.string.pref_behaviour_mark_read_on_scroll_key))
|| key.equals(context.getString(R.string.pref_behaviour_comment_min_key))
|| key.equals(context.getString(R.string.pref_behaviour_pinned_subredditsort_key))
|| key.equals(context.getString(
@@ -1784,6 +1785,12 @@ public static boolean pref_behaviour_keep_screen_awake() {
false);
}
+ public static boolean pref_mark_read_on_scroll() {
+ return getBoolean(
+ R.string.pref_behaviour_mark_read_on_scroll_key,
+ false);
+ }
+
@Nullable
public static String pref_reddit_client_id_override() {
final String value = getString(R.string.pref_reddit_client_id_override_key, null);
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index ad6f08728..f38c7eb59 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -507,6 +507,42 @@ private void onLoadMoreItemsCheck() {
General.checkThisIsUIThread();
+ final LinearLayoutManager layoutManager
+ = (LinearLayoutManager)mRecyclerView.getLayoutManager();
+
+ final boolean markReadOnScroll = PrefsUtility.pref_mark_read_on_scroll();
+
+ if((layoutManager != null) && markReadOnScroll) {
+
+ final int firstVisibleItemPosition
+ = layoutManager.findFirstVisibleItemPosition();
+
+ final int firstCompletelyVisibleItemPosition
+ = layoutManager.findFirstCompletelyVisibleItemPosition();
+
+ // Mark the first visible post read on scroll
+ if(firstVisibleItemPosition >= 1
+ && firstCompletelyVisibleItemPosition != 0) {
+
+ final RedditPostView view = (RedditPostView) layoutManager.getChildAt(0);
+
+ final int position =
+ (view != null) ? layoutManager.getPosition(view) : RecyclerView.NO_POSITION;
+
+ final RedditPreparedPost post
+ = (position == firstVisibleItemPosition) ? view.getPost() : null;
+
+ if ((post != null) && !post.isRead()) {
+ new Thread() {
+ @Override
+ public void run() {
+ post.markAsRead(getActivity());
+ }
+ }.start();
+ }
+ }
+ }
+
if(mReadyToDownloadMore && mAfter != null && !mAfter.equals(mLastAfter)) {
final LinearLayoutManager layoutManager
diff --git a/src/main/java/org/quantumbadger/redreader/views/RedditPostView.java b/src/main/java/org/quantumbadger/redreader/views/RedditPostView.java
index 6bce3e40d..c43697c7d 100644
--- a/src/main/java/org/quantumbadger/redreader/views/RedditPostView.java
+++ b/src/main/java/org/quantumbadger/redreader/views/RedditPostView.java
@@ -667,4 +667,8 @@ private void showPrefPrompt() {
.apply();
});
}
+
+ @Nullable public RedditPreparedPost getPost() {
+ return mPost;
+ }
}
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 41afeea77..e03ecfc2d 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -1921,4 +1921,4 @@
Reddit login issue
There was a problem logging into Reddit. Try again in an different browser?
-
+
\ No newline at end of file
diff --git a/src/main/res/xml/prefs_behaviour.xml b/src/main/res/xml/prefs_behaviour.xml
index b64412042..6cd1e69ec 100644
--- a/src/main/res/xml/prefs_behaviour.xml
+++ b/src/main/res/xml/prefs_behaviour.xml
@@ -185,6 +185,10 @@
android:entryValues="@array/pref_behaviour_postcount_items_return"
android:defaultValue="ALL"/>
+
+
From a3b3c6f06e0b3ef3caa05a4a2e605133472f409b Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 15:45:51 -0500
Subject: [PATCH 11/19] Remove duplicate layoutManager declaration
---
.../quantumbadger/redreader/fragments/PostListingFragment.java | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index f38c7eb59..c56bc40e7 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -545,9 +545,6 @@ public void run() {
if(mReadyToDownloadMore && mAfter != null && !mAfter.equals(mLastAfter)) {
- final LinearLayoutManager layoutManager
- = (LinearLayoutManager)mRecyclerView.getLayoutManager();
-
if((layoutManager.getItemCount() - layoutManager.findLastVisibleItemPosition()
< 20
&& (mPostCountLimit <= 0 || mPostRefreshCount.get() > 0)
From cef9dddbab36721991905007c479beaab43a165f Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 15:54:11 -0500
Subject: [PATCH 12/19] Cleanup trailing space
---
.../quantumbadger/redreader/fragments/PostListingFragment.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index c56bc40e7..06e525c52 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -507,7 +507,7 @@ private void onLoadMoreItemsCheck() {
General.checkThisIsUIThread();
- final LinearLayoutManager layoutManager
+ final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
final boolean markReadOnScroll = PrefsUtility.pref_mark_read_on_scroll();
From 71a51044a7ff2476f7ba7ad91c59b3025dfe2583 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 17:12:09 -0500
Subject: [PATCH 13/19] Remove markReadOnScroll variable
---
.../redreader/fragments/PostListingFragment.java | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index 06e525c52..64a7fccaf 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -510,9 +510,7 @@ private void onLoadMoreItemsCheck() {
final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
- final boolean markReadOnScroll = PrefsUtility.pref_mark_read_on_scroll();
-
- if((layoutManager != null) && markReadOnScroll) {
+ if((layoutManager != null) && PrefsUtility.pref_mark_read_on_scroll();) {
final int firstVisibleItemPosition
= layoutManager.findFirstVisibleItemPosition();
@@ -520,7 +518,6 @@ private void onLoadMoreItemsCheck() {
final int firstCompletelyVisibleItemPosition
= layoutManager.findFirstCompletelyVisibleItemPosition();
- // Mark the first visible post read on scroll
if(firstVisibleItemPosition >= 1
&& firstCompletelyVisibleItemPosition != 0) {
@@ -532,6 +529,7 @@ private void onLoadMoreItemsCheck() {
final RedditPreparedPost post
= (position == firstVisibleItemPosition) ? view.getPost() : null;
+ // Mark the first visible post read if it is unread
if ((post != null) && !post.isRead()) {
new Thread() {
@Override
From 781fb78337ba5827acb570468f2504394bb317bc Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sat, 22 Mar 2025 18:48:38 -0500
Subject: [PATCH 14/19] Fix typo in PrefsUtility.pref_mark_read_on_scroll()
---
.../quantumbadger/redreader/fragments/PostListingFragment.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index 64a7fccaf..b0bf837f7 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -510,7 +510,7 @@ private void onLoadMoreItemsCheck() {
final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
- if((layoutManager != null) && PrefsUtility.pref_mark_read_on_scroll();) {
+ if((layoutManager != null) && PrefsUtility.pref_mark_read_on_scroll()) {
final int firstVisibleItemPosition
= layoutManager.findFirstVisibleItemPosition();
From 8ac8b0326dde077e623e4cca1b6e4dcc15998758 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sun, 23 Mar 2025 12:35:02 -0500
Subject: [PATCH 15/19] Refactor for readability
---
.../fragments/PostListingFragment.java | 48 +++++++++++--------
1 file changed, 27 insertions(+), 21 deletions(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index b0bf837f7..c2fdaf335 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -507,42 +507,48 @@ private void onLoadMoreItemsCheck() {
General.checkThisIsUIThread();
- final LinearLayoutManager layoutManager
- = (LinearLayoutManager)mRecyclerView.getLayoutManager();
+ if(PrefsUtility.pref_mark_read_on_scroll()) {
+
+ final LinearLayoutManager layoutManager
+ = (LinearLayoutManager)mRecyclerView.getLayoutManager();
- if((layoutManager != null) && PrefsUtility.pref_mark_read_on_scroll()) {
+ if (layoutManager != null) {
- final int firstVisibleItemPosition
- = layoutManager.findFirstVisibleItemPosition();
+ final int firstVisibleItemPosition
+ = layoutManager.findFirstVisibleItemPosition();
- final int firstCompletelyVisibleItemPosition
- = layoutManager.findFirstCompletelyVisibleItemPosition();
+ final int firstCompletelyVisibleItemPosition
+ = layoutManager.findFirstCompletelyVisibleItemPosition();
- if(firstVisibleItemPosition >= 1
- && firstCompletelyVisibleItemPosition != 0) {
+ if(firstVisibleItemPosition >= 1
+ && firstCompletelyVisibleItemPosition != 0) {
- final RedditPostView view = (RedditPostView) layoutManager.getChildAt(0);
+ final RedditPostView view = (RedditPostView) layoutManager.getChildAt(0);
- final int position =
+ final int position =
(view != null) ? layoutManager.getPosition(view) : RecyclerView.NO_POSITION;
- final RedditPreparedPost post
- = (position == firstVisibleItemPosition) ? view.getPost() : null;
+ final RedditPreparedPost post
+ = (position == firstVisibleItemPosition) ? view.getPost() : null;
- // Mark the first visible post read if it is unread
- if ((post != null) && !post.isRead()) {
- new Thread() {
- @Override
- public void run() {
- post.markAsRead(getActivity());
- }
- }.start();
+ // Mark the first visible post read if it is unread
+ if ((post != null) && !post.isRead()) {
+ new Thread() {
+ @Override
+ public void run() {
+ post.markAsRead(getActivity());
+ }
+ }.start();
+ }
}
}
}
if(mReadyToDownloadMore && mAfter != null && !mAfter.equals(mLastAfter)) {
+ final LinearLayoutManager layoutManager
+ = (LinearLayoutManager)mRecyclerView.getLayoutManager();
+
if((layoutManager.getItemCount() - layoutManager.findLastVisibleItemPosition()
< 20
&& (mPostCountLimit <= 0 || mPostRefreshCount.get() > 0)
From b22b661efef2a8340535ab132db07fd07a60a685 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sun, 23 Mar 2025 12:37:41 -0500
Subject: [PATCH 16/19] Whitespace cleanup
---
.../quantumbadger/redreader/fragments/PostListingFragment.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index c2fdaf335..e259683ee 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -548,7 +548,7 @@ public void run() {
final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
-
+
if((layoutManager.getItemCount() - layoutManager.findLastVisibleItemPosition()
< 20
&& (mPostCountLimit <= 0 || mPostRefreshCount.get() > 0)
From bcc93b1efccb91bdbb7bd5c8cec708f9f3730900 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Sun, 23 Mar 2025 12:51:18 -0500
Subject: [PATCH 17/19] More closely match the style of existing code
---
.../redreader/fragments/PostListingFragment.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
index e259683ee..bee659053 100644
--- a/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
+++ b/src/main/java/org/quantumbadger/redreader/fragments/PostListingFragment.java
@@ -512,7 +512,7 @@ private void onLoadMoreItemsCheck() {
final LinearLayoutManager layoutManager
= (LinearLayoutManager)mRecyclerView.getLayoutManager();
- if (layoutManager != null) {
+ if(layoutManager != null) {
final int firstVisibleItemPosition
= layoutManager.findFirstVisibleItemPosition();
@@ -532,7 +532,7 @@ private void onLoadMoreItemsCheck() {
= (position == firstVisibleItemPosition) ? view.getPost() : null;
// Mark the first visible post read if it is unread
- if ((post != null) && !post.isRead()) {
+ if((post != null) && !post.isRead()) {
new Thread() {
@Override
public void run() {
From b75d8ec3477d88686e42756a69448b988cb55868 Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Thu, 13 Nov 2025 18:08:27 -0600
Subject: [PATCH 18/19] Rebase against v1.25 and reapply updates to strings.xml
---
src/main/res/values/strings.xml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index e03ecfc2d..1003f3dfb 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -1921,4 +1921,8 @@
Reddit login issue
There was a problem logging into Reddit. Try again in an different browser?
+
+
+ pref_behaviour_mark_read_on_scroll
+ Mark posts as read on scroll
\ No newline at end of file
From d7688b6a6eb2bc3dd8bbb1d75fb23916dadfda4c Mon Sep 17 00:00:00 2001
From: sttanner <2830501+sttanner@users.noreply.github.com>
Date: Wed, 10 Dec 2025 20:31:59 -0600
Subject: [PATCH 19/19] Update strings.xml
---
src/main/res/values/strings.xml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index b6f435c0c..95c6f54c5 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -1924,4 +1924,8 @@
No messages yet.
+
+
+ pref_behaviour_mark_read_on_scroll
+ Mark posts as read on scroll
\ No newline at end of file