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