• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package leakcanary.internal
2 
3 import android.app.Application
4 import leakcanary.OnObjectRetainedListener
5 
6 internal object LeakCanaryDelegate {
7 
8   @Suppress("UNCHECKED_CAST")
<lambda>null9   val loadLeakCanary by lazy {
10     try {
11       val leakCanaryListener = Class.forName("leakcanary.internal.InternalLeakCanary")
12       leakCanaryListener.getDeclaredField("INSTANCE")
13         .get(null) as (Application) -> Unit
14     } catch (ignored: Throwable) {
15       NoLeakCanary
16     }
17   }
18 
19   object NoLeakCanary : (Application) -> Unit, OnObjectRetainedListener {
invokenull20     override fun invoke(application: Application) {
21     }
22 
onObjectRetainednull23     override fun onObjectRetained() {
24     }
25   }
26 }