1 package leakcanary
2 
3 import leakcanary.EventListener.Event
4 
5 /**
6  * Forwards events to the [EventListener] provided by lazyEventListener which
7  * is evaluated lazily, when the first comes in.
8  */
9 class LazyForwardingEventListener(
10   lazyEventListener: () -> EventListener
11 ) : EventListener {
12 
13   private val eventListenerDelegate by lazy(lazyEventListener)
14 
onEventnull15   override fun onEvent(event: Event) {
16     eventListenerDelegate.onEvent(event)
17   }
18 }
19