diff --git a/architecture/src/main/java/org/mozilla/fenix/mvi/UIComponent.kt b/architecture/src/main/java/org/mozilla/fenix/mvi/UIComponent.kt index 56fdac31f..0792d0b35 100644 --- a/architecture/src/main/java/org/mozilla/fenix/mvi/UIComponent.kt +++ b/architecture/src/main/java/org/mozilla/fenix/mvi/UIComponent.kt @@ -38,7 +38,13 @@ abstract class UIComponent( val viewModel = viewModelProvider.fetchViewModel() compositeDisposable.add(changesObservable.subscribe(viewModel.changes::onNext)) - compositeDisposable.add(viewModel.state.subscribe(uiView.updateView())) + compositeDisposable.add( + viewModel + .state + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(uiView.updateView()) + ) return compositeDisposable } @@ -61,8 +67,6 @@ abstract class UIComponentViewModelBase( .withLatestFrom(_state) .map { reducer(it.second, it.first) } .distinctUntilChanged() - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) .subscribe(_state) } }