From 63d8979ef8adbf960f2f0fb8fc75848e3624cc0c Mon Sep 17 00:00:00 2001 From: Gavriil Sitnikov Date: Thu, 7 Apr 2016 16:43:33 +0300 Subject: [PATCH] until stop added --- .../roboswag/components/navigation/FragmentNavigation.java | 3 ++- .../roboswag/components/navigation/ViewController.java | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/ru/touchin/roboswag/components/navigation/FragmentNavigation.java b/src/main/java/ru/touchin/roboswag/components/navigation/FragmentNavigation.java index 0b1de69..0cb8c7d 100644 --- a/src/main/java/ru/touchin/roboswag/components/navigation/FragmentNavigation.java +++ b/src/main/java/ru/touchin/roboswag/components/navigation/FragmentNavigation.java @@ -135,7 +135,8 @@ public class FragmentNavigation { @SuppressWarnings("PMD.ShortMethodName") public boolean up() { - return backTo(backStackEntry -> backStackEntry.getName().endsWith(TOP_FRAGMENT_TAG_MARK)); + return backTo(backStackEntry -> + backStackEntry.getName() != null && backStackEntry.getName().endsWith(TOP_FRAGMENT_TAG_MARK)); } public void push(@NonNull final Class fragmentClass) { diff --git a/src/main/java/ru/touchin/roboswag/components/navigation/ViewController.java b/src/main/java/ru/touchin/roboswag/components/navigation/ViewController.java index f688f47..500918e 100644 --- a/src/main/java/ru/touchin/roboswag/components/navigation/ViewController.java +++ b/src/main/java/ru/touchin/roboswag/components/navigation/ViewController.java @@ -123,6 +123,12 @@ public class ViewController isDestroyed)); } + @NonNull + protected Observable untilStop(@NonNull final Observable observable) { + return observable.observeOn(AndroidSchedulers.mainThread()) + .takeUntil(isStartedSubject.filter(isStarted -> !isStarted)); + } + public void onStart() { isStartedSubject.onNext(true); }