package com.xw.common.base import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.LifecycleOwner interface IBaseViewModel : LifecycleEventObserver { override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) { when (event) { Lifecycle.Event.ON_CREATE -> onCreate() Lifecycle.Event.ON_START -> onStart() Lifecycle.Event.ON_RESUME -> onResume() Lifecycle.Event.ON_PAUSE -> onPause() Lifecycle.Event.ON_STOP -> onStop() Lifecycle.Event.ON_DESTROY -> onDestroy() else -> {} } } fun onCreate() fun onStart() fun onResume() fun onPause() fun onStop() fun onDestroy() }