Merge pull request #55 from TouchInstinct/small_updates

update support libs and small refactoring "until" method
This commit is contained in:
Gavriil 2017-03-28 12:02:41 +03:00 committed by GitHub
commit 52a9b563c0
2 changed files with 15 additions and 12 deletions

View File

@ -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'
}

View File

@ -247,22 +247,25 @@ public class BaseLifecycleBindable implements LifecycleBindable {
@NonNull final Action0 onCompletedAction) {
final Observable<T> 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