Skip to content

Instantly share code, notes, and snippets.

@abbas-oveissi
Created May 25, 2018 11:34
Show Gist options
  • Save abbas-oveissi/86a9a2bf10d8dd7f1192deaf7a800998 to your computer and use it in GitHub Desktop.
Save abbas-oveissi/86a9a2bf10d8dd7f1192deaf7a800998 to your computer and use it in GitHub Desktop.
public class MovieDetailViewModel extends BaseViewModel {
PublishProcessor<Boolean> retryNetworkRequest = PublishProcessor.create();
MovieInteractor movieInteractor;
BehaviorProcessor<MovieDetailViewState> baz = null;
@Inject
public MovieDetailViewModel(MovieInteractor movieInteractor) {
this.movieInteractor = movieInteractor;
baz =BehaviorProcessor.create();
retryNetworkRequest
.switchMap(aVoid -> movieInteractor.getMovieByID("1")
.map((it) -> (MovieDetailViewState) new MovieDetailViewState.Data(it))
.onErrorReturnItem(new MovieDetailViewState.Error(""))
.startWith(new MovieDetailViewState.Loading()))
.subscribeWith(new MyDisposabObserver(baz));
}
BehaviorProcessor<MovieDetailViewState> getViewState() {
return baz;
}
void retryNetwork() {
retryNetworkRequest.onNext(false);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment