diff --git a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java index cafda00d6..e6f004593 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java +++ b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java @@ -9,6 +9,7 @@ public class GlobalUserPreferences{ public static boolean trueBlackTheme; public static boolean showReplies; public static boolean showBoosts; + public static boolean loadNewPosts; public static ThemePreference theme; private static SharedPreferences getPrefs(){ @@ -22,6 +23,7 @@ public class GlobalUserPreferences{ trueBlackTheme=prefs.getBoolean("trueBlackTheme", false); showReplies=prefs.getBoolean("showReplies", true); showBoosts=prefs.getBoolean("showBoosts", true); + loadNewPosts=prefs.getBoolean("loadNewPosts", true); theme=ThemePreference.values()[prefs.getInt("theme", 0)]; } @@ -31,6 +33,7 @@ public class GlobalUserPreferences{ .putBoolean("useCustomTabs", useCustomTabs) .putBoolean("showReplies", showReplies) .putBoolean("showBoosts", showBoosts) + .putBoolean("loadNewPosts", loadNewPosts) .putBoolean("trueBlackTheme", trueBlackTheme) .putInt("theme", theme.ordinal()) .apply(); diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java index 4b7196464..045aa49eb 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTimelineFragment.java @@ -162,6 +162,7 @@ public class HomeTimelineFragment extends StatusListFragment{ } private void loadNewPosts(){ + if (!GlobalUserPreferences.loadNewPosts) return; dataLoading=true; // The idea here is that we request the timeline such that if there are fewer than `limit` posts, // we'll get the currently topmost post as last in the response. This way we know there's no gap 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 e9772bc74..7c5a11921 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java @@ -104,6 +104,10 @@ public class SettingsFragment extends MastodonToolbarFragment{ GlobalUserPreferences.useCustomTabs=i.checked; GlobalUserPreferences.save(); })); + items.add(new SwitchItem(R.string.settings_load_new_posts, R.drawable.ic_fluent_arrow_up_24_regular, GlobalUserPreferences.loadNewPosts, i->{ + GlobalUserPreferences.loadNewPosts=i.checked; + GlobalUserPreferences.save(); + })); items.add(new HeaderItem(R.string.home_timeline)); items.add(new SwitchItem(R.string.settings_show_replies, R.drawable.ic_fluent_chat_multiple_24_regular, GlobalUserPreferences.showReplies, i->{ diff --git a/mastodon/src/main/res/drawable/ic_fluent_arrow_up_24_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_arrow_up_24_regular.xml new file mode 100644 index 000000000..5f33adbc2 --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_arrow_up_24_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/values-de-rDE/strings.xml b/mastodon/src/main/res/values-de-rDE/strings.xml index f5dc8c367..cead07d8b 100644 --- a/mastodon/src/main/res/values-de-rDE/strings.xml +++ b/mastodon/src/main/res/values-de-rDE/strings.xml @@ -254,6 +254,7 @@ App-Verhalten Antworten anzeigen Geteilte Beiträge anzeigen + Automatisch neue Beiträge laden Spiele animierte GIFs, Avatare und Emojis ab In-App-Browser verwenden Benachrichtigungen diff --git a/mastodon/src/main/res/values/strings.xml b/mastodon/src/main/res/values/strings.xml index b8625f4b5..85230c4ca 100644 --- a/mastodon/src/main/res/values/strings.xml +++ b/mastodon/src/main/res/values/strings.xml @@ -258,6 +258,7 @@ Behavior Show replies Show boosts + Automatically load new posts Play animated avatars and emoji Use in-app browser Notifications