From 27da8b48412e1882124e6ce0d1c1555636e74b38 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 9 Nov 2017 20:56:53 +0100 Subject: [PATCH] adding LeakCanary --- app/build.gradle | 11 +++++++++++ .../kotlin/com/simplemobiletools/filemanager/App.kt | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index eda256d8..c71b15a2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -19,10 +19,14 @@ android { } buildTypes { + debug { + buildConfigField "boolean", "USE_LEAK_CANARY", "true" + } release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release + buildConfigField "boolean", "USE_LEAK_CANARY", "false" } } @@ -36,12 +40,19 @@ android { } } +ext { + leakCanaryVersion = '1.5.4' +} + dependencies { compile 'com.simplemobiletools:commons:2.38.2' compile 'com.bignerdranch.android:recyclerview-multiselect:0.2' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile files('../libs/RootTools.jar') + + debugCompile "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion" + releaseCompile "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion" } buildscript { diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/App.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/App.kt index d5ce3d8f..cca032e6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/App.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/App.kt @@ -2,12 +2,20 @@ package com.simplemobiletools.filemanager import android.app.Application import com.github.ajalt.reprint.core.Reprint +import com.simplemobiletools.filemanager.BuildConfig.USE_LEAK_CANARY import com.simplemobiletools.filemanager.extensions.config +import com.squareup.leakcanary.LeakCanary import java.util.* class App : Application() { override fun onCreate() { super.onCreate() + if (USE_LEAK_CANARY) { + if (LeakCanary.isInAnalyzerProcess(this)) { + return + } + LeakCanary.install(this) + } if (config.useEnglish) { val conf = resources.configuration