From 4b2fcd760ab1e14c97988d4b2ecce5c6e44c8d46 Mon Sep 17 00:00:00 2001 From: sk Date: Fri, 7 Apr 2023 15:29:43 +0200 Subject: [PATCH] add option to confirm before reblog closes sk22#456 --- .../java/org/joinmastodon/android/GlobalUserPreferences.java | 3 +++ .../org/joinmastodon/android/fragments/SettingsFragment.java | 4 ++++ .../android/ui/displayitems/FooterStatusDisplayItem.java | 5 +++++ mastodon/src/main/res/values/strings_sk.xml | 1 + 4 files changed, 13 insertions(+) diff --git a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java index e9461d660..495d3a0db 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java +++ b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java @@ -46,6 +46,7 @@ public class GlobalUserPreferences{ public static boolean autoHideFab; public static boolean replyLineAboveHeader; public static boolean compactReblogReplyLine; + public static boolean confirmBeforeReblog; public static String publishButtonText; public static ThemePreference theme; public static ColorPreference color; @@ -102,6 +103,7 @@ public class GlobalUserPreferences{ autoHideFab=prefs.getBoolean("autoHideFab", true); replyLineAboveHeader=prefs.getBoolean("replyLineAboveHeader", true); compactReblogReplyLine=prefs.getBoolean("compactReblogReplyLine", true); + confirmBeforeReblog=prefs.getBoolean("confirmBeforeReblog", false); publishButtonText=prefs.getString("publishButtonText", ""); theme=ThemePreference.values()[prefs.getInt("theme", 0)]; recentLanguages=fromJson(prefs.getString("recentLanguages", null), recentLanguagesType, new HashMap<>()); @@ -148,6 +150,7 @@ public class GlobalUserPreferences{ .putString("publishButtonText", publishButtonText) .putBoolean("bottomEncoding", bottomEncoding) .putBoolean("replyLineAboveHeader", replyLineAboveHeader) + .putBoolean("confirmBeforeReblog", confirmBeforeReblog) .putInt("theme", theme.ordinal()) .putString("color", color.name()) .putString("recentLanguages", gson.toJson(recentLanguages)) 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 0c0f38df2..a91885402 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java @@ -207,6 +207,10 @@ public class SettingsFragment extends MastodonToolbarFragment{ GlobalUserPreferences.prefixRepliesWithRe=i.checked; GlobalUserPreferences.save(); })); + items.add(new SwitchItem(R.string.sk_settings_confirm_before_reblog, R.drawable.ic_fluent_checkmark_circle_24_regular, GlobalUserPreferences.confirmBeforeReblog, i->{ + GlobalUserPreferences.confirmBeforeReblog=i.checked; + GlobalUserPreferences.save(); + })); items.add(new HeaderItem(R.string.sk_timelines)); items.add(new SwitchItem(R.string.sk_settings_show_replies, R.drawable.ic_fluent_chat_multiple_24_regular, GlobalUserPreferences.showReplies, i->{ diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java index c680b6d59..9a5a2f3eb 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java @@ -200,6 +200,11 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{ } private void onBoostClick(View v){ + if (GlobalUserPreferences.confirmBeforeReblog) { + v.startAnimation(opacityIn); + onBoostLongClick(v); + return; + } boost.setSelected(!item.status.reblogged); AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setReblogged(item.status, !item.status.reblogged, null, r->boostConsumer(v, r)); } diff --git a/mastodon/src/main/res/values/strings_sk.xml b/mastodon/src/main/res/values/strings_sk.xml index dcc03d4ed..3e0c5b5fe 100644 --- a/mastodon/src/main/res/values/strings_sk.xml +++ b/mastodon/src/main/res/values/strings_sk.xml @@ -272,4 +272,5 @@ “In reply to” line above avatar Show thread Compact reblog/reply line + Confirm before reblogging \ No newline at end of file