From 6a84462b795ed301a37bc566dbdacc8021cb390c Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Mon, 23 Jan 2023 17:39:59 -0300 Subject: [PATCH] Adding an option for enabling/disabling the fab. Still missing an icon and text --- .../java/org/joinmastodon/android/GlobalUserPreferences.java | 3 +++ .../android/fragments/BaseStatusListFragment.java | 2 +- .../org/joinmastodon/android/fragments/SettingsFragment.java | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java index da3e4c7c4..b7c707d94 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java +++ b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java @@ -33,6 +33,7 @@ public class GlobalUserPreferences{ public static boolean relocatePublishButton; public static boolean reduceMotion; public static boolean keepOnlyLatestNotification; + public static boolean disableFab; public static String publishButtonText; public static ThemePreference theme; public static ColorPreference color; @@ -72,6 +73,7 @@ public class GlobalUserPreferences{ enableDeleteNotifications=prefs.getBoolean("enableDeleteNotifications", true); reduceMotion=prefs.getBoolean("reduceMotion", false); keepOnlyLatestNotification=prefs.getBoolean("keepOnlyLatestNotification", false); + disableFab=prefs.getBoolean("disableFab", false); theme=ThemePreference.values()[prefs.getInt("theme", 0)]; recentLanguages=fromJson(prefs.getString("recentLanguages", "{}"), recentLanguagesType, new HashMap<>()); recentEmojis=fromJson(prefs.getString("recentEmojis", "{}"), recentEmojisType, new HashMap<>()); @@ -108,6 +110,7 @@ public class GlobalUserPreferences{ .putBoolean("enableDeleteNotifications", enableDeleteNotifications) .putBoolean("reduceMotion", reduceMotion) .putBoolean("keepOnlyLatestNotification", keepOnlyLatestNotification) + .putBoolean("disableFab", disableFab) .putString("publishButtonText", publishButtonText) .putInt("theme", theme.ordinal()) .putString("color", color.name()) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java index 5728e1dad..76148ae84 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java @@ -286,7 +286,7 @@ public abstract class BaseStatusListFragment exten if(currentPhotoViewer!=null) currentPhotoViewer.offsetView(-dx, -dy); - if (fab!=null) { + if (fab!=null && !GlobalUserPreferences.disableFab) { if (dy > 0 /*&& !isFirstLaunch*/) { if (isScrollingUp /*&& !isFirstLaunch*/) { fab.setVisibility(View.INVISIBLE); 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 3582aa0fb..7f70b1dea 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java @@ -211,6 +211,11 @@ public class SettingsFragment extends MastodonToolbarFragment{ GlobalUserPreferences.save(); needAppRestart=true; })); + items.add(new SwitchItem(R.string.sk_settings_reduce_motion, R.drawable.ic_fluent_star_emphasis_24_regular, GlobalUserPreferences.disableFab, i->{ + GlobalUserPreferences.disableFab=i.checked; + GlobalUserPreferences.save(); + needAppRestart=true; + })); // items.add(new SwitchItem(R.string.sk_enable_delete_notifications, R.drawable.ic_fluent_delete_24_regular, GlobalUserPreferences.enableDeleteNotifications, i->{ // GlobalUserPreferences.enableDeleteNotifications=i.checked; // GlobalUserPreferences.save();