From 08f8ad4d15d406c4a1809ef09c8c659310f0f441 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 15 Apr 2022 08:18:48 +0200 Subject: [PATCH] Debug: added leak canary option --- .../main/java/eu/faircode/email/ApplicationEx.java | 3 ++- .../java/eu/faircode/email/FragmentOptionsMisc.java | 13 ++++++++++++- app/src/main/res/layout/fragment_options_misc.xml | 13 ++++++++++++- app/src/main/res/values/strings.xml | 1 + 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ApplicationEx.java b/app/src/main/java/eu/faircode/email/ApplicationEx.java index dda5a9d262..747f12ff96 100644 --- a/app/src/main/java/eu/faircode/email/ApplicationEx.java +++ b/app/src/main/java/eu/faircode/email/ApplicationEx.java @@ -158,6 +158,7 @@ public class ApplicationEx extends Application SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); final boolean crash_reports = prefs.getBoolean("crash_reports", false); + final boolean leak_canary = prefs.getBoolean("leak_canary", false); final boolean load_emoji = prefs.getBoolean("load_emoji", BuildConfig.PLAY_STORE_RELEASE); prev = Thread.getDefaultUncaughtExceptionHandler(); @@ -182,7 +183,7 @@ public class ApplicationEx extends Application }); Log.setup(this); - CoalMine.setup(crash_reports); + CoalMine.setup(leak_canary); upgrade(this); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index feb6a242b4..efb789cbc0 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -121,6 +121,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc private TextView tvExperimentsHint; private SwitchCompat swCrashReports; private TextView tvUuid; + private SwitchCompat swCanary; private Button btnReset; private SwitchCompat swCleanupAttachments; private Button btnCleanup; @@ -203,7 +204,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc "classification", "class_min_probability", "class_min_difference", "language", "deepl_enabled", "watchdog", "updates", "weekly", "show_changelog", - "experiments", "crash_reports", "cleanup_attachments", + "experiments", "crash_reports", "leak_canary", "cleanup_attachments", "protocol", "debug", "log_level", "test1", "test2", "test3", "test4", "test5", "work_manager", // "external_storage", "query_threads", "wal", "sqlite_checkpoints", "sqlite_analyze", "sqlite_cache", @@ -287,6 +288,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc tvExperimentsHint = view.findViewById(R.id.tvExperimentsHint); swCrashReports = view.findViewById(R.id.swCrashReports); tvUuid = view.findViewById(R.id.tvUuid); + swCanary = view.findViewById(R.id.swCanary); btnReset = view.findViewById(R.id.btnReset); swCleanupAttachments = view.findViewById(R.id.swCleanupAttachments); btnCleanup = view.findViewById(R.id.btnCleanup); @@ -662,6 +664,14 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc .putBoolean("crash_reports", checked) .apply(); Log.setCrashReporting(checked); + } + }); + + swCanary.setVisibility(BuildConfig.DEBUG ? View.VISIBLE : View.GONE); + swCanary.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("leak_canary", checked).apply(); CoalMine.setup(checked); } }); @@ -1671,6 +1681,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc swExperiments.setChecked(prefs.getBoolean("experiments", false)); swCrashReports.setChecked(prefs.getBoolean("crash_reports", false)); tvUuid.setText(prefs.getString("uuid", null)); + swCanary.setChecked(prefs.getBoolean("leak_canary", false)); swCleanupAttachments.setChecked(prefs.getBoolean("cleanup_attachments", false)); swProtocol.setChecked(prefs.getBoolean("protocol", false)); diff --git a/app/src/main/res/layout/fragment_options_misc.xml b/app/src/main/res/layout/fragment_options_misc.xml index 4be6aec822..bedd828a2f 100644 --- a/app/src/main/res/layout/fragment_options_misc.xml +++ b/app/src/main/res/layout/fragment_options_misc.xml @@ -453,6 +453,17 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/swCrashReports" /> + +