diff --git a/build.gradle b/build.gradle index 330e505..a3b5b39 100644 --- a/build.gradle +++ b/build.gradle @@ -27,8 +27,8 @@ dependencies { compile 'com.android.support:multidex:1.0.1' compile 'io.reactivex:rxandroid:1.2.1' - 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 'com.squareup.retrofit2:retrofit:2.2.0' provided('com.google.http-client:google-http-client-jackson2:1.22.0') { diff --git a/src/main/java/ru/touchin/templates/TouchinService.java b/src/main/java/ru/touchin/templates/TouchinService.java index 9e0a1af..1dee231 100644 --- a/src/main/java/ru/touchin/templates/TouchinService.java +++ b/src/main/java/ru/touchin/templates/TouchinService.java @@ -260,7 +260,7 @@ public abstract class TouchinService extends Service { @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); } @@ -268,14 +268,16 @@ public abstract class TouchinService extends Service { return isCreatedSubject.first() .switchMap(created -> created ? actualObservable : Observable.empty()) .takeUntil(conditionSubject.filter(condition -> condition)) - .subscribe(onNextAction, throwable -> { + .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); - }); + }) + .subscribe(); } @SuppressWarnings("CPD-END")