From 0b8a385953561635f974e94d934e48d88434aac3 Mon Sep 17 00:00:00 2001 From: Joshua Bauer Date: Sun, 5 Feb 2023 09:55:21 +0100 Subject: [PATCH 1/4] update to changes on master branch --- .../redreader/common/PrefsUtility.java | 1 + .../redreader/reddit/api/RedditPostActions.kt | 16 ++++++++++++++++ .../reddit/prepared/RedditChangeDataManager.java | 8 ++++---- .../reddit/prepared/RedditPreparedPost.java | 8 +++++++- .../redreader/views/RedditCommentView.java | 11 +++++++++++ src/main/res/values-de/strings.xml | 6 +++++- src/main/res/values/arrays.xml | 3 +++ src/main/res/values/strings.xml | 4 ++++ 8 files changed, 51 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java b/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java index 6584716cf..a4945fd8e 100644 --- a/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java +++ b/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java @@ -930,6 +930,7 @@ public enum PostFlingAction { COPY, USER_PROFILE, PROPERTIES, + MARK_READ, DISABLED } diff --git a/src/main/java/org/quantumbadger/redreader/reddit/api/RedditPostActions.kt b/src/main/java/org/quantumbadger/redreader/reddit/api/RedditPostActions.kt index 577c24868..2ad4296d7 100644 --- a/src/main/java/org/quantumbadger/redreader/reddit/api/RedditPostActions.kt +++ b/src/main/java/org/quantumbadger/redreader/reddit/api/RedditPostActions.kt @@ -46,6 +46,8 @@ object RedditPostActions { HIDE(R.string.action_hide), UNSAVE(R.string.action_unsave), UNHIDE(R.string.action_unhide), + MARK_READ(R.string.action_mark_read), + MARK_UNREAD(R.string.action_mark_unread), EDIT(R.string.action_edit), DELETE(R.string.action_delete), REPORT(R.string.action_report), @@ -134,6 +136,18 @@ object RedditPostActions { ) } + PostFlingAction.MARK_READ -> if (post.isRead()) { + ActionDescriptionPair( + Action.MARK_UNREAD, + R.string.action_mark_unread + ) + } else { + ActionDescriptionPair( + Action.MARK_READ, + R.string.action_mark_read + ) + } + PostFlingAction.COMMENTS -> ActionDescriptionPair( Action.COMMENTS, R.string.action_comments_short @@ -304,6 +318,8 @@ object RedditPostActions { Action.UNSAVE -> action(post, activity, RedditAPI.ACTION_UNSAVE) Action.HIDE -> action(post, activity, RedditAPI.ACTION_HIDE) Action.UNHIDE -> action(post, activity, RedditAPI.ACTION_UNHIDE) + Action.MARK_READ -> post.markAsRead(activity, true) + Action.MARK_UNREAD -> post.markAsRead(activity, false) Action.EDIT -> { val editIntent = Intent(activity, CommentEditActivity::class.java) editIntent.putExtra("commentIdAndType", post.src.idAndType) diff --git a/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditChangeDataManager.java b/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditChangeDataManager.java index c58860fd3..4661fe7c7 100644 --- a/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditChangeDataManager.java +++ b/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditChangeDataManager.java @@ -366,13 +366,13 @@ Entry markUnvoted(final long timestamp) { mIsHidden); } - Entry markRead(final long timestamp) { + Entry markRead(final long timestamp, final Boolean read) { return new Entry( timestamp, mIsUpvoted, mIsDownvoted, - true, + read, mIsSaved, mIsHidden); } @@ -558,11 +558,11 @@ public void markHidden( } } - public void markRead(final long timestamp, final RedditThingWithIdAndType thing) { + public void markRead(final long timestamp, final RedditThingWithIdAndType thing, final Boolean read) { synchronized(mLock) { final Entry existingEntry = get(thing); - final Entry updatedEntry = existingEntry.markRead(timestamp); + final Entry updatedEntry = existingEntry.markRead(timestamp, read); set(thing, existingEntry, updatedEntry); } } diff --git a/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditPreparedPost.java b/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditPreparedPost.java index ada552f66..dad40f841 100644 --- a/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditPreparedPost.java +++ b/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditPreparedPost.java @@ -796,10 +796,16 @@ public interface ThumbnailLoadedCallback { } public void markAsRead(final Context context) { + markAsRead(context, true); + } + + public void markAsRead( + final Context context, + final Boolean read) { final RedditAccount user = RedditAccountManager.getInstance(context).getDefaultAccount(); RedditChangeDataManager.getInstance(user) - .markRead(RRTime.utcCurrentTimeMillis(), src); + .markRead(RRTime.utcCurrentTimeMillis(), src, read); } public boolean isUpvoted() { diff --git a/src/main/java/org/quantumbadger/redreader/views/RedditCommentView.java b/src/main/java/org/quantumbadger/redreader/views/RedditCommentView.java index c4a44ff29..6450d1a0c 100644 --- a/src/main/java/org/quantumbadger/redreader/views/RedditCommentView.java +++ b/src/main/java/org/quantumbadger/redreader/views/RedditCommentView.java @@ -214,6 +214,17 @@ private ActionDescriptionPair chooseFlingAction(final PrefsUtility.CommentFlingA RedditAPICommentAction.RedditCommentAction.BACK, R.string.action_back); + case MARK_READ: + if(mPost.isRead()) { + return new ActionDescriptionPair( + RedditPreparedPost.Action.MARK_UNREAD, + R.string.action_mark_unread); + } else { + return new ActionDescriptionPair( + RedditPreparedPost.Action.MARK_READ, + R.string.action_mark_read); + } + case DISABLED: return null; } diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml index ac92f9b9b..0e2fe08a8 100644 --- a/src/main/res/values-de/strings.xml +++ b/src/main/res/values-de/strings.xml @@ -312,7 +312,7 @@ Was gibt\'s Neues Kommentare (Standardsortierung) - Ausschalten + Funktion deaktivieren Version Infos @@ -664,4 +664,8 @@ Suchergebnisse Subreddit Beiträge + + + Gelesen + Ungelesen \ No newline at end of file diff --git a/src/main/res/values/arrays.xml b/src/main/res/values/arrays.xml index 656659ff2..214806e90 100644 --- a/src/main/res/values/arrays.xml +++ b/src/main/res/values/arrays.xml @@ -459,6 +459,7 @@ @string/action_user_profile @string/action_properties @string/action_edit + @string/action_mark_read @@ -486,6 +487,7 @@ user_profile properties edit + mark_read @@ -1125,6 +1127,7 @@ user_profile properties edit + mark_read diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index d1d8f4c71..98ecbf223 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -1733,4 +1733,8 @@ Avatar + + Mark as read + Mark as unread + From e55af7b6b146367385002cf24f53fcd868585bdb Mon Sep 17 00:00:00 2001 From: Joshua Bauer Date: Sun, 5 Feb 2023 10:20:49 +0100 Subject: [PATCH 2/4] Insert in wrong file. comment != post, comment != post, comment != post, --- .../redreader/views/RedditCommentView.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/main/java/org/quantumbadger/redreader/views/RedditCommentView.java b/src/main/java/org/quantumbadger/redreader/views/RedditCommentView.java index 6450d1a0c..c4a44ff29 100644 --- a/src/main/java/org/quantumbadger/redreader/views/RedditCommentView.java +++ b/src/main/java/org/quantumbadger/redreader/views/RedditCommentView.java @@ -214,17 +214,6 @@ private ActionDescriptionPair chooseFlingAction(final PrefsUtility.CommentFlingA RedditAPICommentAction.RedditCommentAction.BACK, R.string.action_back); - case MARK_READ: - if(mPost.isRead()) { - return new ActionDescriptionPair( - RedditPreparedPost.Action.MARK_UNREAD, - R.string.action_mark_unread); - } else { - return new ActionDescriptionPair( - RedditPreparedPost.Action.MARK_READ, - R.string.action_mark_read); - } - case DISABLED: return null; } From e43c36f94e769d5e517a4bec05c4885860c1b03e Mon Sep 17 00:00:00 2001 From: Joshua Bauer Date: Sun, 5 Feb 2023 10:37:19 +0100 Subject: [PATCH 3/4] checkstyle --- .../redreader/reddit/prepared/RedditChangeDataManager.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditChangeDataManager.java b/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditChangeDataManager.java index 4661fe7c7..be6778052 100644 --- a/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditChangeDataManager.java +++ b/src/main/java/org/quantumbadger/redreader/reddit/prepared/RedditChangeDataManager.java @@ -558,7 +558,10 @@ public void markHidden( } } - public void markRead(final long timestamp, final RedditThingWithIdAndType thing, final Boolean read) { + public void markRead( + final long timestamp, + final RedditThingWithIdAndType thing, + final Boolean read) { synchronized(mLock) { final Entry existingEntry = get(thing); From d8d548e0b42aadedbec04edf69a928952946e17d Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Sun, 5 Feb 2023 09:05:03 -0800 Subject: [PATCH 4/4] Add accessibility action, remove extraneous changes to non-English strings --- .../quantumbadger/redreader/reddit/api/RedditPostActions.kt | 3 +++ src/main/res/values-de/strings.xml | 6 +----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/quantumbadger/redreader/reddit/api/RedditPostActions.kt b/src/main/java/org/quantumbadger/redreader/reddit/api/RedditPostActions.kt index 2ad4296d7..fb686aea0 100644 --- a/src/main/java/org/quantumbadger/redreader/reddit/api/RedditPostActions.kt +++ b/src/main/java/org/quantumbadger/redreader/reddit/api/RedditPostActions.kt @@ -264,6 +264,9 @@ object RedditPostActions { if (isOpen) { // TODO: add an action here to jump focus from the body of the post to its comments. + } + addAccessibilityActionFromDescriptionPair(from(post, PostFlingAction.MARK_READ)) + if (isOpen) { addAccessibilityActionFromDescriptionPair(from(post, PostFlingAction.GOTO_SUBREDDIT)) if (isAuthenticated) { if (!post.isArchived && !(post.isLocked && !post.canModerate)) diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml index 0e2fe08a8..ac92f9b9b 100644 --- a/src/main/res/values-de/strings.xml +++ b/src/main/res/values-de/strings.xml @@ -312,7 +312,7 @@ Was gibt\'s Neues Kommentare (Standardsortierung) - Funktion deaktivieren + Ausschalten Version Infos @@ -664,8 +664,4 @@ Suchergebnisse Subreddit Beiträge - - - Gelesen - Ungelesen \ No newline at end of file