DEV Community

Discussion on: How to set up a Base Fragment Class with ViewBinding and ViewModel on Android

Collapse
 
enyason profile image
Enya Emmanuel

Hey @sarimahmed93 I'm glad you learnt a thing form it. Here's the BaseViewmodel from an old project i worked on. Nothing really fancy. Just extending ViewModel.

abstract class BaseViewModel(private val lifeCycleReceiver: LifecycleReceiver = LifecycleReceiverImpl()) :
    ViewModel(), LifecycleReceiver by lifeCycleReceiver {

    private val compositeContainer = CompositeDisposable()

    var mainNavigator: MainNavigator? = null

    override fun onCleared() {
        super.onCleared()
        compositeContainer.clear()
    }

    fun Disposable.addToContainer() = compositeContainer.add(this)
}
Enter fullscreen mode Exit fullscreen mode