Skip to content

Instantly share code, notes, and snippets.

@CesarValiente
Created May 12, 2017 03:29
Show Gist options
  • Save CesarValiente/b35b5aa78e230644ca98e639e7b6684d to your computer and use it in GitHub Desktop.
Save CesarValiente/b35b5aa78e230644ca98e639e7b6684d to your computer and use it in GitHub Desktop.
abstract class ViewActivity<T : ControllerView> : AppCompatActivity() {
lateinit var controllerView: T
override fun onStart() {
super.onStart()
controllerView.onStart()
}
override fun onPause() {
super.onPause()
controllerView.onPause()
}
override fun onResume() {
super.onResume()
controllerView.onResume()
}
override fun onStop() {
super.onStop()
controllerView.onStop()
}
override fun onDestroy() {
super.onDestroy()
controllerView.onDestroy()
}
protected fun registerControllerViewForLifecycle(controllerView: T) {
this.controllerView = controllerView
}
abstract fun setupControllerView()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment