diff --git a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java index 16346dfd6..d16262f15 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java +++ b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java @@ -51,6 +51,7 @@ public class GlobalUserPreferences{ public static boolean disableDoubleTapToSwipe; public static boolean compactReblogReplyLine; public static boolean replyLineAboveHeader; + public static boolean swapBookmarkWithBoostAction; public static String publishButtonText; public static ThemePreference theme; public static ColorPreference color; @@ -115,6 +116,7 @@ public class GlobalUserPreferences{ defaultToUnlistedReplies=prefs.getBoolean("defaultToUnlistedReplies", false); disableDoubleTapToSwipe=prefs.getBoolean("disableDoubleTapToSwipe", false); replyLineAboveHeader=prefs.getBoolean("replyLineAboveHeader", true); + swapBookmarkWithBoostAction=prefs.getBoolean("swapBookmarkWithBoostAction", false); publishButtonText=prefs.getString("publishButtonText", ""); theme=ThemePreference.values()[prefs.getInt("theme", 0)]; recentLanguages=fromJson(prefs.getString("recentLanguages", "{}"), recentLanguagesType, new HashMap<>()); @@ -171,6 +173,7 @@ public class GlobalUserPreferences{ .putBoolean("disableDoubleTapToSwipe", disableDoubleTapToSwipe) .putBoolean("compactReblogReplyLine", compactReblogReplyLine) .putBoolean("replyLineAboveHeader", replyLineAboveHeader) + .putBoolean("swapBookmarkWithBoostAction", swapBookmarkWithBoostAction) .putInt("theme", theme.ordinal()) .putString("color", color.name()) .putString("recentLanguages", gson.toJson(recentLanguages)) diff --git a/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java b/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java index 6ddc9225b..da76f0c03 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java +++ b/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java @@ -222,9 +222,15 @@ public class PushNotificationReceiver extends BroadcastReceiver{ builder.addAction(buildReplyAction(context, id, accountID, notification)); } builder.addAction(buildNotificationAction(context, id, accountID, notification, context.getString(R.string.button_favorite), NotificationAction.FAVORITE)); - builder.addAction(buildNotificationAction(context, id, accountID, notification, context.getString(R.string.add_bookmark), NotificationAction.BOOKMARK)); - if(notification.status.visibility != StatusPrivacy.DIRECT) { - builder.addAction(buildNotificationAction(context, id, accountID, notification, context.getString(R.string.button_reblog), NotificationAction.BOOST)); + if(GlobalUserPreferences.swapBookmarkWithBoostAction){ + if(notification.status.visibility != StatusPrivacy.DIRECT) { + builder.addAction(buildNotificationAction(context, id, accountID, notification, context.getString(R.string.button_reblog), NotificationAction.BOOST)); + }else{ + // This is just so there is a bookmark action if you cannot reblog the toot + builder.addAction(buildNotificationAction(context, id, accountID, notification, context.getString(R.string.add_bookmark), NotificationAction.BOOKMARK)); + } + } else { + builder.addAction(buildNotificationAction(context, id, accountID, notification, context.getString(R.string.add_bookmark), NotificationAction.BOOKMARK)); } } case UPDATE -> { diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java index 4e98a2b88..bcf90d4f9 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java @@ -186,6 +186,10 @@ public class SettingsFragment extends MastodonToolbarFragment{ GlobalUserPreferences.save(); needAppRestart=true; })); + items.add(new SwitchItem(R.string.mo_swap_bookmark_with_reblog, R.drawable.ic_boost, GlobalUserPreferences.swapBookmarkWithBoostAction, i -> { + GlobalUserPreferences.swapBookmarkWithBoostAction=i.checked; + GlobalUserPreferences.save(); + })); items.add(new HeaderItem(R.string.mo_composer_behavior)); diff --git a/mastodon/src/main/res/values/strings_mo.xml b/mastodon/src/main/res/values/strings_mo.xml index f9b033e55..ee63b9fa8 100644 --- a/mastodon/src/main/res/values/strings_mo.xml +++ b/mastodon/src/main/res/values/strings_mo.xml @@ -51,6 +51,7 @@ Open in App Disable double tap to swipe between tabs + Use reblog action instead of bookmark action on notifications \ No newline at end of file