From e625057731de35ca5dd53ca5acf2d34d2798e34b Mon Sep 17 00:00:00 2001 From: sk Date: Mon, 13 Nov 2023 21:00:47 +0100 Subject: [PATCH] re-add pre-releases setting closes sk22#906 --- .../settings/SettingsAboutAppFragment.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsAboutAppFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsAboutAppFragment.java index 7d80f34d8d..2c603f92f0 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsAboutAppFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsAboutAppFragment.java @@ -8,13 +8,17 @@ import android.widget.Toast; import org.joinmastodon.android.BuildConfig; +import org.joinmastodon.android.GlobalUserPreferences; import org.joinmastodon.android.R; import org.joinmastodon.android.api.MastodonAPIController; import org.joinmastodon.android.api.session.AccountSession; import org.joinmastodon.android.api.session.AccountSessionManager; +import org.joinmastodon.android.model.viewmodel.CheckableListItem; import org.joinmastodon.android.model.viewmodel.ListItem; import org.joinmastodon.android.ui.utils.UiUtils; +import org.joinmastodon.android.updater.GithubSelfUpdater; +import java.util.ArrayList; import java.util.List; import androidx.recyclerview.widget.RecyclerView; @@ -25,6 +29,7 @@ public class SettingsAboutAppFragment extends BaseSettingsFragment{ private ListItem mediaCacheItem; + private CheckableListItem enablePreReleasesItem; private AccountSession session; private boolean timelineCacheCleared=false; @@ -33,7 +38,8 @@ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setTitle(getString(R.string.about_app, getString(R.string.sk_app_name))); session=AccountSessionManager.get(accountID); - onDataLoaded(List.of( + + List> items=new ArrayList(List.of( new ListItem<>(R.string.sk_settings_donate, 0, R.drawable.ic_fluent_heart_24_regular, i->UiUtils.openHashtagTimeline(getActivity(), accountID, getString(R.string.donate_hashtag))), new ListItem<>(R.string.sk_settings_contribute, 0, R.drawable.ic_fluent_open_24_regular, i->UiUtils.launchWebBrowser(getActivity(), getString(R.string.repo_url))), new ListItem<>(R.string.settings_tos, 0, R.drawable.ic_fluent_open_24_regular, i->UiUtils.launchWebBrowser(getActivity(), "https://"+session.domain+"/terms")), @@ -42,12 +48,19 @@ public void onCreate(Bundle savedInstanceState){ new ListItem<>(getString(R.string.sk_settings_clear_timeline_cache), session.domain, this::onClearTimelineCacheClick) )); + if(GithubSelfUpdater.needSelfUpdating()){ + items.add(enablePreReleasesItem=new CheckableListItem<>(R.string.sk_updater_enable_pre_releases, 0, CheckableListItem.Style.SWITCH, GlobalUserPreferences.enablePreReleases, i->toggleCheckableItem(enablePreReleasesItem))); + } + + onDataLoaded(items); updateMediaCacheItem(); } @Override protected void onHidden(){ super.onHidden(); + GlobalUserPreferences.enablePreReleases=enablePreReleasesItem.checked; + GlobalUserPreferences.save(); if(timelineCacheCleared) getActivity().recreate(); }