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 567ef88..b792d47 100644 --- a/src/main/java/ru/touchin/roboswag/components/utils/BaseLifecycleBindable.java +++ b/src/main/java/ru/touchin/roboswag/components/utils/BaseLifecycleBindable.java @@ -60,7 +60,7 @@ public class BaseLifecycleBindable implements LifecycleBindable { * Call it on parent's onStart method. */ public void onStart() { - if (!isStartedSubject.getValue()) { + if (isStartedSubject.hasValue() && !isStartedSubject.getValue()) { isStartedSubject.onNext(true); } } @@ -71,7 +71,7 @@ public class BaseLifecycleBindable implements LifecycleBindable { * In that case onResume will be called after onSaveInstanceState so lifecycle object is becoming started. */ public void onResume() { - if (!isStartedSubject.getValue()) { + if (isStartedSubject.hasValue() && !isStartedSubject.getValue()) { isStartedSubject.onNext(true); } } @@ -80,7 +80,7 @@ public class BaseLifecycleBindable implements LifecycleBindable { * Call it on parent's onSaveInstanceState method. */ public void onSaveInstanceState() { - if (isStartedSubject.getValue()) { + if (isStartedSubject.hasValue() && isStartedSubject.getValue()) { isStartedSubject.onNext(false); } } @@ -89,7 +89,7 @@ public class BaseLifecycleBindable implements LifecycleBindable { * Call it on parent's onStop method. */ public void onStop() { - if (isStartedSubject.getValue()) { + if (isStartedSubject.hasValue() && isStartedSubject.getValue()) { isStartedSubject.onNext(false); } }