Testing With and without internet UI Checklist Minimum space between content and bottom of the window List position is preserved on back Code Templates Interaction between ViewModel and Service class ViewModel(private val service: Service) { init { service.itemsStateObservable.subscribeIO { ... } service.start() } override fun onCleared() { service.stop() } } class Service { private val itemsStateSubject = BehaviorSubject.create<DataState<Any>>() val itemsStateObservable: Observable<DataState<Any>> = itemsStateSubject private disposables = CompositeDisposables() fun start() { ... } fun stop() { disposables.clear() } }