From 7773f6b7d806c6cc1714edf393f936d95ef136e8 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Sat, 24 Feb 2018 16:54:51 +0100
Subject: [PATCH] Minor cleanup, added leak canary for debug builds

---
 app/build.gradle.kts                               |  6 ++++++
 .../de/kuschku/quasseldroid_ng/QuasseldroidNG.kt   | 14 ++++++++++++--
 .../java/de/kuschku/libquassel/session/Session.kt  |  1 -
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 037188746..edefd2e1f 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -144,6 +144,12 @@ dependencies {
 
   // Quality Assurance
   implementation(project(":malheur"))
+  withVersion("1.5.4") {
+    debugImplementation("com.squareup.leakcanary", "leakcanary-android", version)
+    releaseImplementation("com.squareup.leakcanary", "leakcanary-android-no-op", version)
+    testImplementation("com.squareup.leakcanary", "leakcanary-android-no-op", version)
+    androidTestImplementation("com.squareup.leakcanary", "leakcanary-android-no-op", version)
+  }
 
   testImplementation("junit", "junit", "4.12")
   withVersion("1.0.1") {
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/QuasseldroidNG.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/QuasseldroidNG.kt
index 47dbac27c..0b796525c 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/QuasseldroidNG.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/QuasseldroidNG.kt
@@ -5,6 +5,8 @@ import android.content.pm.ShortcutInfo
 import android.content.pm.ShortcutManager
 import android.graphics.drawable.Icon
 import android.os.Build
+import android.support.v7.preference.PreferenceManager
+import com.squareup.leakcanary.LeakCanary
 import de.kuschku.malheur.CrashHandler
 import de.kuschku.quasseldroid_ng.util.backport.AndroidThreeTenBackport
 import de.kuschku.quasseldroid_ng.util.compatibility.AndroidCompatibilityUtils
@@ -14,11 +16,19 @@ import de.kuschku.quasseldroid_ng.util.helper.systemService
 
 class QuasseldroidNG : Application() {
   override fun onCreate() {
+    super.onCreate()
+    if (LeakCanary.isInAnalyzerProcess(this)) {
+      // This process is dedicated to LeakCanary for heap analysis.
+      // You should not init your app in this process.
+      return
+    }
+    LeakCanary.install(this)
+    // Normal app init code...
+
     CrashHandler.init(
       application = this,
       buildConfig = BuildConfig::class.java
     )
-    super.onCreate()
 
     // Init compatibility utils
     AndroidCompatibilityUtils.inject()
@@ -28,7 +38,7 @@ class QuasseldroidNG : Application() {
     AndroidThreeTenBackport.init(this)
 
     // Initialize preferences unless already set
-    android.support.v7.preference.PreferenceManager.setDefaultValues(this, R.xml.preferences, false)
+    PreferenceManager.setDefaultValues(this, R.xml.preferences, false)
 
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
       systemService<ShortcutManager>().dynamicShortcuts = listOf(
diff --git a/lib/src/main/java/de/kuschku/libquassel/session/Session.kt b/lib/src/main/java/de/kuschku/libquassel/session/Session.kt
index af8384cd5..841d9d6bb 100644
--- a/lib/src/main/java/de/kuschku/libquassel/session/Session.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/session/Session.kt
@@ -124,7 +124,6 @@ class Session(
   override fun handle(f: SignalProxyMessage.HeartBeatReply): Boolean {
     val now = Instant.now()
     val latency = now.toEpochMilli() - f.timestamp.toEpochMilli()
-    log(INFO, "Session", "Latency of $latency ms")
     lag.onNext(latency)
     return true
   }
-- 
GitLab