From 800a15fba686edf08f6288b2a7ff752acc532282 Mon Sep 17 00:00:00 2001 From: Alexander Bubnov Date: Tue, 28 Mar 2017 14:07:53 +0300 Subject: [PATCH] call onErrorAction --- .../components/utils/BaseLifecycleBindable.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 01ab1a4..c046215 100644 --- a/src/main/java/ru/touchin/roboswag/components/utils/BaseLifecycleBindable.java +++ b/src/main/java/ru/touchin/roboswag/components/utils/BaseLifecycleBindable.java @@ -28,6 +28,7 @@ import rx.Observable; import rx.Single; import rx.Subscription; import rx.android.schedulers.AndroidSchedulers; +import rx.exceptions.OnErrorThrowable; import rx.functions.Action0; import rx.functions.Action1; import rx.functions.Actions; @@ -250,7 +251,15 @@ public class BaseLifecycleBindable implements LifecycleBindable { actualObservable = observable.observeOn(AndroidSchedulers.mainThread()) .doOnCompleted(onCompletedAction) .doOnNext(onNextAction) - .onErrorResumeNext(Observable.empty()); + .onErrorResumeNext(throwable -> { + final boolean isRxError = throwable instanceof OnErrorThrowable; + if ((!isRxError && throwable instanceof RuntimeException) + || (isRxError && throwable.getCause() instanceof RuntimeException)) { + Lc.assertion(throwable); + } + onErrorAction.call(throwable); + return Observable.empty(); + }); } return isCreatedSubject.first()