Should I include LifecycleOwner in ViewModel?
No. If you wish to observe changes of some LiveData inside your ViewModel you can use observeForever() which doesn’t require LifecycleOwner. Remember to remove this observer on ViewModel‘s onCleared() event: val observer = new Observer() { override public void onChanged(Integer integer) { //Do something with “integer” } } … liveData.observeForever(observer); … override fun onCleared() { … Read more