From 92a00af2f2405d5bccc0cf2d4824e54aad35252e Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Tue, 31 Oct 2017 01:29:32 -0700 Subject: [PATCH 1/5] Add convenience ScopeProvider.UNBOUND instance Since unbound-ness is a an official scope, this is a shortcut that's more clear than Maybe.never() --- .../src/main/java/com/uber/autodispose/ScopeProvider.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/autodispose/src/main/java/com/uber/autodispose/ScopeProvider.java b/autodispose/src/main/java/com/uber/autodispose/ScopeProvider.java index 6277902e0..708ec468e 100755 --- a/autodispose/src/main/java/com/uber/autodispose/ScopeProvider.java +++ b/autodispose/src/main/java/com/uber/autodispose/ScopeProvider.java @@ -24,6 +24,12 @@ */ public interface ScopeProvider { + ScopeProvider UNBOUND = new ScopeProvider() { + @Override public Maybe requestScope() { + return Maybe.empty(); + } + }; + /** * @return a Maybe that, upon emission, will trigger disposal. */ From 3cc1b51e78c85515f114c322b2c5bff719c50247 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Tue, 31 Oct 2017 01:31:52 -0700 Subject: [PATCH 2/5] Deprecate 1.0 --- .../src/main/java/com/uber/autodispose/TestScopeProvider.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/autodispose/src/main/java/com/uber/autodispose/TestScopeProvider.java b/autodispose/src/main/java/com/uber/autodispose/TestScopeProvider.java index 4da06bca1..c5ae859fd 100644 --- a/autodispose/src/main/java/com/uber/autodispose/TestScopeProvider.java +++ b/autodispose/src/main/java/com/uber/autodispose/TestScopeProvider.java @@ -52,7 +52,9 @@ public static TestScopeProvider create(Maybe delegate) { * scope is unbound. * * @return the created TestScopeProvider + * @deprecated in favor of {@link ScopeProvider#UNBOUND}. This method will be removed in 1.0. */ + @Deprecated public static TestScopeProvider unbound() { return create(Maybe.empty()); } From 9b558ed9a09fa5538ea8ce54392e9ff479cbd839 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Tue, 31 Oct 2017 01:32:05 -0700 Subject: [PATCH 3/5] Use new UNBOUND in tests for integration --- .../autodispose/AutoDisposeCompletableObserverTest.java | 2 +- .../com/uber/autodispose/AutoDisposeMaybeObserverTest.java | 6 +++--- .../java/com/uber/autodispose/AutoDisposeObserverTest.java | 6 +++--- .../com/uber/autodispose/AutoDisposeSingleObserverTest.java | 6 +++--- .../com/uber/autodispose/AutoDisposeSubscriberTest.java | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeCompletableObserverTest.java b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeCompletableObserverTest.java index 91e2017ac..76b986a13 100755 --- a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeCompletableObserverTest.java +++ b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeCompletableObserverTest.java @@ -311,7 +311,7 @@ public CompletableObserver apply(Completable source, CompletableObserver observe } }); Completable.complete() - .to(AutoDispose.with(Maybe.never()) + .to(AutoDispose.with(ScopeProvider.UNBOUND) .forCompletable()) .subscribe(); diff --git a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeMaybeObserverTest.java b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeMaybeObserverTest.java index 68d79798d..cbe0e2c10 100755 --- a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeMaybeObserverTest.java +++ b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeMaybeObserverTest.java @@ -74,7 +74,7 @@ public class AutoDisposeMaybeObserverTest { @Test public void autoDispose_withSuperClassGenerics_compilesFine() { Maybe.just(new BClass()) - .to(AutoDispose.with(Maybe.never()).forMaybe()) + .to(AutoDispose.with(ScopeProvider.UNBOUND).forMaybe()) .subscribe(new Consumer() { @Override public void accept(AClass aClass) throws Exception { @@ -84,7 +84,7 @@ public class AutoDisposeMaybeObserverTest { @Test public void autoDispose_noGenericsOnEmpty_isFine() { Maybe.just(new BClass()) - .to(AutoDispose.with(Maybe.never()) + .to(AutoDispose.with(ScopeProvider.UNBOUND) .forMaybe()) .subscribe(); } @@ -343,7 +343,7 @@ public class AutoDisposeMaybeObserverTest { } }); Maybe.just(1) - .to(AutoDispose.with(Maybe.never()).forMaybe()) + .to(AutoDispose.with(ScopeProvider.UNBOUND).forMaybe()) .subscribe(); assertThat(atomicAutoDisposingObserver.get()).isNotNull(); diff --git a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeObserverTest.java b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeObserverTest.java index 719b957ef..3b24aa3a5 100755 --- a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeObserverTest.java +++ b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeObserverTest.java @@ -77,7 +77,7 @@ public class AutoDisposeObserverTest { @Test public void autoDispose_withSuperClassGenerics_compilesFine() { Observable.just(new BClass()) - .to(AutoDispose.with(Maybe.never()).forObservable()) + .to(AutoDispose.with(ScopeProvider.UNBOUND).forObservable()) .subscribe(new Consumer() { @Override public void accept(AClass aClass) throws Exception { @@ -87,7 +87,7 @@ public class AutoDisposeObserverTest { @Test public void autoDispose_noGenericsOnEmpty_isFine() { Observable.just(new BClass()) - .to(AutoDispose.with(Maybe.never()) + .to(AutoDispose.with(ScopeProvider.UNBOUND) .forObservable()) .subscribe(); } @@ -278,7 +278,7 @@ public class AutoDisposeObserverTest { } }); Observable.just(1) - .to(AutoDispose.with(Maybe.never()).forObservable()) + .to(AutoDispose.with(ScopeProvider.UNBOUND).forObservable()) .subscribe(); assertThat(atomicAutoDisposingObserver.get()).isNotNull(); diff --git a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSingleObserverTest.java b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSingleObserverTest.java index c41ff6e17..32f8420e6 100755 --- a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSingleObserverTest.java +++ b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSingleObserverTest.java @@ -76,7 +76,7 @@ public class AutoDisposeSingleObserverTest { @Test public void autoDispose_withSuperClassGenerics_compilesFine() { Single.just(new BClass()) - .to(AutoDispose.with(Maybe.never()).forSingle()) + .to(AutoDispose.with(ScopeProvider.UNBOUND).forSingle()) .subscribe(new Consumer() { @Override public void accept(AClass aClass) throws Exception { @@ -86,7 +86,7 @@ public class AutoDisposeSingleObserverTest { @Test public void autoDispose_noGenericsOnEmpty_isFine() { Single.just(new BClass()) - .to(AutoDispose.with(Maybe.never()) + .to(AutoDispose.with(ScopeProvider.UNBOUND) .forSingle()) .subscribe(); } @@ -314,7 +314,7 @@ public class AutoDisposeSingleObserverTest { } }); Single.just(1) - .to(AutoDispose.with(Maybe.never()).forSingle()) + .to(AutoDispose.with(ScopeProvider.UNBOUND).forSingle()) .subscribe(); assertThat(atomicAutoDisposingObserver.get()).isNotNull(); diff --git a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSubscriberTest.java b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSubscriberTest.java index 5cd98f629..b8f35038a 100755 --- a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSubscriberTest.java +++ b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSubscriberTest.java @@ -72,7 +72,7 @@ public class AutoDisposeSubscriberTest { @Test public void autoDispose_withSuperClassGenerics_compilesFine() { Flowable.just(new BClass()) - .to(AutoDispose.with(Maybe.never()).forFlowable()) + .to(AutoDispose.with(ScopeProvider.UNBOUND).forFlowable()) .subscribe(new Consumer() { @Override public void accept(AClass aClass) throws Exception { @@ -82,7 +82,7 @@ public class AutoDisposeSubscriberTest { @Test public void autoDispose_noGenericsOnEmpty_isFine() { Flowable.just(new BClass()) - .to(AutoDispose.with(Maybe.never()) + .to(AutoDispose.with(ScopeProvider.UNBOUND) .forFlowable()) .subscribe(); } @@ -289,7 +289,7 @@ public class AutoDisposeSubscriberTest { } }); Flowable.just(1) - .to(AutoDispose.with(Maybe.never()).forFlowable()) + .to(AutoDispose.with(ScopeProvider.UNBOUND).forFlowable()) .subscribe(); assertThat(atomicAutoDisposingSubscriber.get()).isNotNull(); From ff54a10c9e304841b3db3a2798881f71f9b3dddb Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Tue, 7 Nov 2017 23:06:54 -0800 Subject: [PATCH 4/5] Fix style issues --- .../src/main/java/com/uber/autodispose/TestScopeProvider.java | 3 +-- .../uber/autodispose/AutoDisposeCompletableObserverTest.java | 1 - .../java/com/uber/autodispose/AutoDisposeObserverTest.java | 1 - .../com/uber/autodispose/AutoDisposeSingleObserverTest.java | 1 - .../java/com/uber/autodispose/AutoDisposeSubscriberTest.java | 1 - 5 files changed, 1 insertion(+), 6 deletions(-) diff --git a/autodispose/src/main/java/com/uber/autodispose/TestScopeProvider.java b/autodispose/src/main/java/com/uber/autodispose/TestScopeProvider.java index c5ae859fd..f7b098d9c 100644 --- a/autodispose/src/main/java/com/uber/autodispose/TestScopeProvider.java +++ b/autodispose/src/main/java/com/uber/autodispose/TestScopeProvider.java @@ -54,8 +54,7 @@ public static TestScopeProvider create(Maybe delegate) { * @return the created TestScopeProvider * @deprecated in favor of {@link ScopeProvider#UNBOUND}. This method will be removed in 1.0. */ - @Deprecated - public static TestScopeProvider unbound() { + @Deprecated public static TestScopeProvider unbound() { return create(Maybe.empty()); } diff --git a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeCompletableObserverTest.java b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeCompletableObserverTest.java index 76b986a13..89b8e1342 100755 --- a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeCompletableObserverTest.java +++ b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeCompletableObserverTest.java @@ -22,7 +22,6 @@ import io.reactivex.CompletableEmitter; import io.reactivex.CompletableObserver; import io.reactivex.CompletableOnSubscribe; -import io.reactivex.Maybe; import io.reactivex.functions.BiFunction; import io.reactivex.functions.Cancellable; import io.reactivex.functions.Consumer; diff --git a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeObserverTest.java b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeObserverTest.java index 3b24aa3a5..4b4c81022 100755 --- a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeObserverTest.java +++ b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeObserverTest.java @@ -18,7 +18,6 @@ import com.uber.autodispose.observers.AutoDisposingObserver; import com.uber.autodispose.test.RecordingObserver; -import io.reactivex.Maybe; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; diff --git a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSingleObserverTest.java b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSingleObserverTest.java index 32f8420e6..ea6260e06 100755 --- a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSingleObserverTest.java +++ b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSingleObserverTest.java @@ -18,7 +18,6 @@ import com.uber.autodispose.observers.AutoDisposingSingleObserver; import com.uber.autodispose.test.RecordingObserver; -import io.reactivex.Maybe; import io.reactivex.Single; import io.reactivex.SingleEmitter; import io.reactivex.SingleObserver; diff --git a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSubscriberTest.java b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSubscriberTest.java index b8f35038a..23d3f7669 100755 --- a/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSubscriberTest.java +++ b/autodispose/src/test/java/com/uber/autodispose/AutoDisposeSubscriberTest.java @@ -21,7 +21,6 @@ import io.reactivex.Flowable; import io.reactivex.FlowableEmitter; import io.reactivex.FlowableOnSubscribe; -import io.reactivex.Maybe; import io.reactivex.disposables.Disposable; import io.reactivex.functions.BiFunction; import io.reactivex.functions.Cancellable; From 3c7e33b06d83f2e22c2fab2045ae57bdb4391936 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Tue, 7 Nov 2017 23:11:40 -0800 Subject: [PATCH 5/5] Add doc --- .../src/main/java/com/uber/autodispose/ScopeProvider.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/autodispose/src/main/java/com/uber/autodispose/ScopeProvider.java b/autodispose/src/main/java/com/uber/autodispose/ScopeProvider.java index 708ec468e..3cee119f0 100755 --- a/autodispose/src/main/java/com/uber/autodispose/ScopeProvider.java +++ b/autodispose/src/main/java/com/uber/autodispose/ScopeProvider.java @@ -24,6 +24,10 @@ */ public interface ScopeProvider { + /** + * A new provider that is "unbound", e.g. will emit a completion event to signal that the + * scope is unbound. + */ ScopeProvider UNBOUND = new ScopeProvider() { @Override public Maybe requestScope() { return Maybe.empty();