Debug: added leak canary option

This commit is contained in:
M66B
2022-04-15 08:18:48 +02:00
parent ed330a6d91
commit 08f8ad4d15
4 changed files with 27 additions and 3 deletions

View File

@@ -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);

View File

@@ -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));