diff --git a/build.gradle b/build.gradle index 6e4775c..95d9092 100644 --- a/build.gradle +++ b/build.gradle @@ -19,8 +19,8 @@ android { dependencies { compile project(':libraries:core') - provided 'com.android.support:appcompat-v7:25.3.0' - provided 'com.android.support:recyclerview-v7:25.3.0' + provided 'com.android.support:appcompat-v7:25.3.1' + provided 'com.android.support:recyclerview-v7:25.3.1' provided 'io.reactivex:rxandroid:1.2.1' } diff --git a/src/main/java/ru/touchin/roboswag/components/utils/BaseLifecycleBindable.java b/src/main/java/ru/touchin/roboswag/components/utils/BaseLifecycleBindable.java index 8d96351..2e0046d 100644 --- a/src/main/java/ru/touchin/roboswag/components/utils/BaseLifecycleBindable.java +++ b/src/main/java/ru/touchin/roboswag/components/utils/BaseLifecycleBindable.java @@ -247,22 +247,25 @@ public class BaseLifecycleBindable implements LifecycleBindable { @NonNull final Action0 onCompletedAction) { final Observable actualObservable; if (onNextAction == Actions.empty() && onErrorAction == (Action1) Actions.empty() && onCompletedAction == Actions.empty()) { - actualObservable = observable.doOnCompleted(onCompletedAction); + actualObservable = observable; } else { - actualObservable = observable.observeOn(AndroidSchedulers.mainThread()).doOnCompleted(onCompletedAction); + actualObservable = observable.observeOn(AndroidSchedulers.mainThread()) + .doOnCompleted(onCompletedAction) + .doOnNext(onNextAction) + .doOnError(throwable -> { + final boolean isRxError = throwable instanceof OnErrorThrowable; + if ((!isRxError && throwable instanceof RuntimeException) + || (isRxError && throwable.getCause() instanceof RuntimeException)) { + Lc.assertion(throwable); + } + onErrorAction.call(throwable); + }); } return isCreatedSubject.first() .switchMap(created -> created ? actualObservable : Observable.empty()) .takeUntil(conditionSubject.filter(condition -> condition)) - .subscribe(onNextAction, throwable -> { - final boolean isRxError = throwable instanceof OnErrorThrowable; - if ((!isRxError && throwable instanceof RuntimeException) - || (isRxError && throwable.getCause() instanceof RuntimeException)) { - Lc.assertion(throwable); - } - onErrorAction.call(throwable); - }); + .subscribe(); } @NonNull