diff --git a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java
index c835d5bbe..c4f6615be 100644
--- a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java
+++ b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java
@@ -29,6 +29,7 @@ public class GlobalUserPreferences{
public static boolean enableDeleteNotifications;
public static boolean translateButtonOpenedOnly;
public static boolean uniformNotificationIcon;
+ public static boolean reduceMotion;
public static String publishButtonText;
public static ThemePreference theme;
public static ColorPreference color;
@@ -62,6 +63,7 @@ public class GlobalUserPreferences{
enableDeleteNotifications=prefs.getBoolean("enableDeleteNotifications", false);
translateButtonOpenedOnly=prefs.getBoolean("translateButtonOpenedOnly", false);
uniformNotificationIcon=prefs.getBoolean("uniformNotificationIcon", false);
+ reduceMotion=prefs.getBoolean("reduceMotion", false);
publishButtonText=prefs.getString("publishButtonText", "");
theme=ThemePreference.values()[prefs.getInt("theme", 0)];
recentLanguages=fromJson(prefs.getString("recentLanguages", "{}"), recentLanguagesType, new HashMap<>());
@@ -90,6 +92,7 @@ public class GlobalUserPreferences{
.putBoolean("enableDeleteNotifications", enableDeleteNotifications)
.putBoolean("translateButtonOpenedOnly", translateButtonOpenedOnly)
.putBoolean("uniformNotificationIcon", uniformNotificationIcon)
+ .putBoolean("reduceMotion", reduceMotion)
.putString("publishButtonText", publishButtonText)
.putInt("theme", theme.ordinal())
.putString("color", color.name())
diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java
index 98579bbaa..d37edec17 100644
--- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java
+++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java
@@ -574,9 +574,11 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
scrollView.post(() -> {
int bottom = scrollView.getChildAt(0).getBottom();
int delta = bottom - (scrollView.getScrollY() + scrollView.getHeight());
- int space = Math.min(V.dp(150), delta);
+ int space = GlobalUserPreferences.reduceMotion ? 0 : Math.min(V.dp(150), delta);
scrollView.scrollBy(0, delta - space);
- scrollView.postDelayed(() -> scrollView.smoothScrollBy(0, space), 150);
+ if (!GlobalUserPreferences.reduceMotion) {
+ scrollView.postDelayed(() -> scrollView.smoothScrollBy(0, space), 150);
+ }
});
}
}
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 5ac738f18..019983c9d 100644
--- a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java
+++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java
@@ -158,7 +158,11 @@ public class SettingsFragment extends MastodonToolbarFragment{
});
}));
items.add(new SwitchItem(R.string.sk_settings_uniform_icon_for_notifications, R.drawable.ic_ntf_logo, GlobalUserPreferences.uniformNotificationIcon, i->{
- GlobalUserPreferences.uniformNotificationIcon =i.checked;
+ GlobalUserPreferences.uniformNotificationIcon=i.checked;
+ GlobalUserPreferences.save();
+ }));
+ items.add(new SwitchItem(R.string.sk_settings_reduce_motion, R.drawable.ic_fluent_star_emphasis_24_regular, GlobalUserPreferences.reduceMotion, i->{
+ GlobalUserPreferences.reduceMotion=i.checked;
GlobalUserPreferences.save();
}));
diff --git a/mastodon/src/main/res/drawable/ic_fluent_star_emphasis_24_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_star_emphasis_24_regular.xml
new file mode 100644
index 000000000..dca85947f
--- /dev/null
+++ b/mastodon/src/main/res/drawable/ic_fluent_star_emphasis_24_regular.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/mastodon/src/main/res/values/strings_sk.xml b/mastodon/src/main/res/values/strings_sk.xml
index dbcdc1348..c58e04aa5 100644
--- a/mastodon/src/main/res/values/strings_sk.xml
+++ b/mastodon/src/main/res/values/strings_sk.xml
@@ -124,4 +124,5 @@
Schedule or draft
Don’t schedule
Don’t draft
+ Reduce motion in animations
\ No newline at end of file