From 4a2814fa8eea787c37e7849039e554ad7033e0dd Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 9 Jan 2019 11:29:21 +0300 Subject: [PATCH] make viewcontroller lateinit again and make open lifecycle callbacks in viewcontroller class --- .../navigation/fragments/ViewControllerFragment.kt | 6 ++++-- .../navigation/viewcontrollers/ViewController.kt | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/navigation/src/main/java/ru/touchin/roboswag/components/navigation/fragments/ViewControllerFragment.kt b/navigation/src/main/java/ru/touchin/roboswag/components/navigation/fragments/ViewControllerFragment.kt index 2656e98..95f6609 100644 --- a/navigation/src/main/java/ru/touchin/roboswag/components/navigation/fragments/ViewControllerFragment.kt +++ b/navigation/src/main/java/ru/touchin/roboswag/components/navigation/fragments/ViewControllerFragment.kt @@ -98,14 +98,16 @@ class ViewControllerFragment private var viewController: ViewController? = null private var pendingActivityResult: ActivityResult? = null private var appeared: Boolean = false - private val viewControllerClass: Class> = arguments?.getSerializable(VIEW_CONTROLLER_CLASS_EXTRA) - as? Class> ?: throw IllegalArgumentException("View controller class must be not-null") + private lateinit var viewControllerClass: Class> override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setHasOptionsMenu(true) + viewControllerClass = arguments?.getSerializable(VIEW_CONTROLLER_CLASS_EXTRA) as? Class> + ?: throw IllegalArgumentException("View controller class must be not-null") + state = savedInstanceState?.getParcelable(VIEW_CONTROLLER_STATE_EXTRA) ?: arguments?.getParcelable(VIEW_CONTROLLER_STATE_EXTRA) ?: throw IllegalStateException("State is required and null") diff --git a/navigation/src/main/java/ru/touchin/roboswag/components/navigation/viewcontrollers/ViewController.kt b/navigation/src/main/java/ru/touchin/roboswag/components/navigation/viewcontrollers/ViewController.kt index e0e6cf9..4b2189c 100644 --- a/navigation/src/main/java/ru/touchin/roboswag/components/navigation/viewcontrollers/ViewController.kt +++ b/navigation/src/main/java/ru/touchin/roboswag/components/navigation/viewcontrollers/ViewController.kt @@ -165,7 +165,7 @@ open class ViewController( * Happens at [ViewControllerFragment.onActivityCreated]. */ @CallSuper - fun onCreate() { + open fun onCreate() { LcGroup.UI_LIFECYCLE.i(Lc.getCodePoint(this)) lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE) } @@ -226,7 +226,7 @@ open class ViewController( * Called when fragment is moved in started state and it's [.getFragment] sets to true. * Usually it is indicating that user can't see fragment on screen and useful to track analytics events. */ - fun onAppear() { + open fun onAppear() { LcGroup.UI_LIFECYCLE.i(Lc.getCodePoint(this)) } @@ -245,14 +245,14 @@ open class ViewController( * Happens at [ViewControllerFragment.onLowMemory]. */ @CallSuper - fun onLowMemory() = Unit + open fun onLowMemory() = Unit /** * Calls when [ViewController] have paused. * Happens at [ViewControllerFragment.onPause]. */ @CallSuper - fun onPause() { + open fun onPause() { LcGroup.UI_LIFECYCLE.i(Lc.getCodePoint(this)) lifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_PAUSE) }