From 341701ff3fbd99a46edc7efeead2cef6a5841db3 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 22 Feb 2020 17:13:14 +0100 Subject: [PATCH] Added auto optimize setting --- .../eu/faircode/email/FragmentOptionsMisc.java | 12 +++++++++++- .../java/eu/faircode/email/ServiceSynchronize.java | 4 ++++ app/src/main/res/layout/fragment_options_misc.xml | 14 +++++++++++++- app/src/main/res/values/strings.xml | 1 + 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index b27fce5c13..99ca9a7c78 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -55,6 +55,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc private TextView tvFtsPro; private SwitchCompat swEnglish; private SwitchCompat swWatchdog; + private SwitchCompat swOptimize; private SwitchCompat swUpdates; private SwitchCompat swExperiments; private TextView tvExperimentsHint; @@ -73,7 +74,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc private Group grpDebug; private final static String[] RESET_OPTIONS = new String[]{ - "fts", "english", "watchdog", "updates", "experiments", "crash_reports", "debug" + "fts", "english", "watchdog", "auto_optimize", "updates", "experiments", "crash_reports", "debug" }; private final static String[] RESET_QUESTIONS = new String[]{ @@ -99,6 +100,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc tvFtsPro = view.findViewById(R.id.tvFtsPro); swEnglish = view.findViewById(R.id.swEnglish); swWatchdog = view.findViewById(R.id.swWatchdog); + swOptimize = view.findViewById(R.id.swOptimize); swUpdates = view.findViewById(R.id.swUpdates); swExperiments = view.findViewById(R.id.swExperiments); tvExperimentsHint = view.findViewById(R.id.tvExperimentsHint); @@ -185,6 +187,13 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc } }); + swOptimize.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("auto_optimize", checked).apply(); + } + }); + swUpdates.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -360,6 +369,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc swFts.setChecked(prefs.getBoolean("fts", false)); swEnglish.setChecked(prefs.getBoolean("english", false)); swWatchdog.setChecked(prefs.getBoolean("watchdog", true)); + swOptimize.setChecked(prefs.getBoolean("auto_optimize", true)); swUpdates.setChecked(prefs.getBoolean("updates", true)); swUpdates.setVisibility( Helper.isPlayStoreInstall() || !Helper.hasValidFingerprint(getContext()) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index d90886d7fe..784d6cd19d 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -828,6 +828,10 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences if (now - start > STILL_THERE_DELAY) return; + boolean auto_optimize = prefs.getBoolean("auto_optimize", true); + if (!auto_optimize) + return; + int pollInterval = prefs.getInt("poll_interval", 0); if (pollInterval == 0) { prefs.edit().putInt("poll_interval", 30).apply(); diff --git a/app/src/main/res/layout/fragment_options_misc.xml b/app/src/main/res/layout/fragment_options_misc.xml index d65ac68f48..272a776def 100644 --- a/app/src/main/res/layout/fragment_options_misc.xml +++ b/app/src/main/res/layout/fragment_options_misc.xml @@ -106,6 +106,18 @@ app:layout_constraintTop_toBottomOf="@id/tvEnglishHint" app:switchPadding="12dp" /> + + %1$d / %2$d messages indexed (%3$s) Force English language Periodically check if FairEmail is still active + Automatically optimize settings Check for updates Try experimental features Send error reports