diff --git a/app/src/debug/java/org/tasks/BuildSetup.java b/app/src/debug/java/org/tasks/BuildSetup.java
index 40d49411d..131379887 100644
--- a/app/src/debug/java/org/tasks/BuildSetup.java
+++ b/app/src/debug/java/org/tasks/BuildSetup.java
@@ -13,6 +13,7 @@ import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
import com.facebook.soloader.SoLoader;
import javax.inject.Inject;
+import leakcanary.AppWatcher;
import org.tasks.injection.ForApplication;
import org.tasks.preferences.Preferences;
import timber.log.Timber;
@@ -33,6 +34,9 @@ public class BuildSetup {
Application application = (Application) context.getApplicationContext();
SoLoader.init(application, false);
+ if (!preferences.getBoolean(R.string.p_leakcanary, false)) {
+ AppWatcher.setConfig(AppWatcher.getConfig().newBuilder().enabled(false).build());
+ }
if (preferences.getBoolean(R.string.p_flipper, false) && FlipperUtils.shouldEnableFlipper(context)) {
FlipperClient client = AndroidFlipperClient.getInstance(application);
client.addPlugin(new InspectorFlipperPlugin(application, DescriptorMapping.withDefaults()));
diff --git a/app/src/debug/java/org/tasks/preferences/DebugPreferences.java b/app/src/debug/java/org/tasks/preferences/DebugPreferences.java
index 5707540cb..eaace9fb7 100644
--- a/app/src/debug/java/org/tasks/preferences/DebugPreferences.java
+++ b/app/src/debug/java/org/tasks/preferences/DebugPreferences.java
@@ -29,6 +29,7 @@ public class DebugPreferences extends InjectingPreferenceActivity {
for (int pref :
asList(
+ R.string.p_leakcanary,
R.string.p_flipper,
R.string.p_strict_mode_vm,
R.string.p_strict_mode_thread)) {
diff --git a/app/src/debug/res/values/keys.xml b/app/src/debug/res/values/keys.xml
index 1b3ea0496..36bf6f2dc 100644
--- a/app/src/debug/res/values/keys.xml
+++ b/app/src/debug/res/values/keys.xml
@@ -4,6 +4,7 @@
AEdPqrEAAAAImTf5DbfspggWrU9h06685ONycpUVwJj1JwawQQ
Strict mode - Thread
Strict mode - VM
+ LeakCanary
Flipper
Unlock pro
Purchase %s
diff --git a/app/src/debug/res/xml/preferences_debug.xml b/app/src/debug/res/xml/preferences_debug.xml
index f80aa00a4..4abe23b13 100644
--- a/app/src/debug/res/xml/preferences_debug.xml
+++ b/app/src/debug/res/xml/preferences_debug.xml
@@ -1,6 +1,10 @@
+
+
diff --git a/app/src/main/res/values/keys.xml b/app/src/main/res/values/keys.xml
index 43683d7ba..2c751f889 100644
--- a/app/src/main/res/values/keys.xml
+++ b/app/src/main/res/values/keys.xml
@@ -290,6 +290,7 @@
bundle_notifications
strict_mode_vm
strict_mode_thread
+ p_leakcanary
p_flipper
debug_pro
warned_play_services
diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt
index 98f71f14f..f1130dc83 100644
--- a/buildSrc/src/main/kotlin/Versions.kt
+++ b/buildSrc/src/main/kotlin/Versions.kt
@@ -5,7 +5,7 @@ object Versions {
const val dagger = "2.26"
const val butterknife = "10.2.0"
const val work = "2.3.0"
- const val leakcanary = "2.1"
+ const val leakcanary = "2.2"
const val room = "2.2.3"
const val crashlytics = "2.10.1"
const val firebase = "17.2.1"