From 040b0acb29753a8f9bfd6244243e3c10486977bb Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 19 Sep 2021 11:12:59 +0200 Subject: [PATCH] Added option to enable/disable changelog --- CHANGELOG.md | 4 ++++ .../main/java/eu/faircode/email/ActivityView.java | 9 ++++++--- .../java/eu/faircode/email/FragmentOptionsMisc.java | 12 +++++++++++- app/src/main/res/layout/fragment_options_misc.xml | 13 ++++++++++++- app/src/main/res/values/strings.xml | 1 + 5 files changed, 34 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9f204b8cb..d5aa0306aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ ### [Yaverlandia](https://en.wikipedia.org/wiki/Yaverlandia) +### 1.1729 + +* Added miscellaneous option to disable showing the changelog + ### 1.1728 * Prevent suggesting spam contacts diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 00c3129b8e..bf9e762d16 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -1106,11 +1106,14 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB String version = BuildConfig.VERSION_NAME + BuildConfig.REVISION; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - if (prefs.getBoolean("first", true)) + boolean first = prefs.getBoolean("first", true); + boolean show_changelog = prefs.getBoolean("show_changelog", !BuildConfig.PLAY_STORE_RELEASE); + + if (first) new FragmentDialogFirst().show(getSupportFragmentManager(), "first"); - else if (!BuildConfig.PLAY_STORE_RELEASE) { + else if (show_changelog) { String last = prefs.getString("changelog", null); - if (!Objects.equals(version, last)) { + if (!Objects.equals(version, last) || BuildConfig.DEBUG) { Bundle args = new Bundle(); args.putString("name", "CHANGELOG.md"); FragmentDialogMarkdown fragment = new FragmentDialogMarkdown(); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index 40640e83af..28fe60c414 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -108,6 +108,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc private SwitchCompat swWatchdog; private SwitchCompat swUpdates; private SwitchCompat swCheckWeekly; + private SwitchCompat swChangelog; private SwitchCompat swExperiments; private TextView tvExperimentsHint; private SwitchCompat swCrashReports; @@ -159,7 +160,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc private final static String[] RESET_OPTIONS = new String[]{ "shortcuts", "fts", "classification", "class_min_probability", "class_min_difference", - "language", "deepl_enabled", "watchdog", "updates", "weekly", + "language", "deepl_enabled", "watchdog", "updates", "weekly", "show_changelog", "experiments", "wal", "checkpoints", "query_threads", "sqlite_cache", "crash_reports", "cleanup_attachments", "protocol", "debug", "log_level", "use_modseq", "perform_expunge", @@ -226,6 +227,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc swWatchdog = view.findViewById(R.id.swWatchdog); swUpdates = view.findViewById(R.id.swUpdates); swCheckWeekly = view.findViewById(R.id.swWeekly); + swChangelog = view.findViewById(R.id.swChangelog); swExperiments = view.findViewById(R.id.swExperiments); tvExperimentsHint = view.findViewById(R.id.tvExperimentsHint); swCrashReports = view.findViewById(R.id.swCrashReports); @@ -512,6 +514,13 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc } }); + swChangelog.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("show_changelog", checked).apply(); + } + }); + tvExperimentsHint.setPaintFlags(tvExperimentsHint.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG); tvExperimentsHint.setOnClickListener(new View.OnClickListener() { @Override @@ -1114,6 +1123,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc swUpdates.setChecked(prefs.getBoolean("updates", true)); swCheckWeekly.setChecked(prefs.getBoolean("weekly", Helper.hasPlayStore(getContext()))); swCheckWeekly.setEnabled(swUpdates.isChecked()); + swChangelog.setChecked(prefs.getBoolean("show_changelog", !BuildConfig.PLAY_STORE_RELEASE)); swExperiments.setChecked(prefs.getBoolean("experiments", false)); swCrashReports.setChecked(prefs.getBoolean("crash_reports", false)); tvUuid.setText(prefs.getString("uuid", null)); diff --git a/app/src/main/res/layout/fragment_options_misc.xml b/app/src/main/res/layout/fragment_options_misc.xml index 6570fccd4e..e2359b02f2 100644 --- a/app/src/main/res/layout/fragment_options_misc.xml +++ b/app/src/main/res/layout/fragment_options_misc.xml @@ -354,6 +354,17 @@ app:layout_constraintTop_toBottomOf="@id/swUpdates" app:switchPadding="12dp" /> + + Periodically check if FairEmail is still active Check for GitHub updates Check weekly instead of daily + Show changelog after update Try experimental features Send error reports Delete attachments of old messages