@@ -22,18 +22,23 @@ actual class ExceptionHandlerBinderImpl<T : Any> actual constructor(
2222 private var eventsListener: ErrorEventListener <T >? = null
2323
2424 override fun bind (viewController : UIViewController ) {
25- eventsListener = createEventsListener(viewController)
25+ eventsListener = Listener (
26+ viewController = viewController,
27+ errorPresenter = errorPresenter
28+ )
2629 eventsDispatcher.listener = eventsListener
2730 }
2831
29- private fun createEventsListener (viewController : UIViewController ) =
30- object : ErrorEventListener <T > {
31- val viewControllerRef = WeakReference (viewController)
32+ private class Listener <T : Any >(
33+ viewController : UIViewController ,
34+ private val errorPresenter : ErrorPresenter <T >
35+ ) : ErrorEventListener<T> {
36+ private val viewControllerRef = WeakReference (viewController)
3237
33- override fun showError (throwable : Throwable , data : T ) {
34- viewControllerRef.get()?.let {
35- errorPresenter.show(throwable, it, data)
36- }
37- }
38+ override fun showError (throwable : Throwable , data : T ) {
39+ val viewController = viewControllerRef.get() ? : return
40+
41+ errorPresenter.show(throwable, viewController, data)
3842 }
43+ }
3944}
0 commit comments