У меня есть следующий код:
mCompositeDisposable.add(Observable.just(bundle)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mView.showLoadingIndicator(true))
.map(_bundle -> new Movie(_bundle.getString(MovieDetailActivity.EXTRA_NAME),
_bundle.getInt(MovieDetailActivity.EXTRA_WATCHERS),
_bundle.getString(MovieListFragment.EXTRA_IMAGE),
_bundle.getString(MovieListFragment.EXTRA_SLUG)))
.flatMap(movieEntity -> MovieDatabase.getMovieDao().deleteMovie(movieEntity.getName()).toObservable())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mView.showLoadingIndicator(false))
.subscribe(
result -> mView.onMovieDeleted(),
error -> {
mView.onMovieDeleteFailed();
Timber.e(error);
}
)
);
Он должен удалить строку из базы данных и вызвать метод пользовательского интерфейса для уведомления об успешном завершении или ошибке завершения.Но на самом деле он удаляет строку, но не вызывает лямбды из метода subscribe
.Итак, в чем дело и как я могу решить эту проблему?