Skip to content

Commit 304fdff

Browse files
authored
Move unbound() shorthand to ScopeProvider itself (#125)
* Add convenience ScopeProvider.UNBOUND instance Since unbound-ness is a an official scope, this is a shortcut that's more clear than Maybe.never() * Deprecate 1.0 * Use new UNBOUND in tests for integration * Fix style issues * Add doc
1 parent 5b35ba8 commit 304fdff

7 files changed

Lines changed: 25 additions & 18 deletions

File tree

autodispose/src/main/java/com/uber/autodispose/ScopeProvider.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@
2424
*/
2525
public interface ScopeProvider {
2626

27+
/**
28+
* A new provider that is "unbound", e.g. will emit a completion event to signal that the
29+
* scope is unbound.
30+
*/
31+
ScopeProvider UNBOUND = new ScopeProvider() {
32+
@Override public Maybe<?> requestScope() {
33+
return Maybe.empty();
34+
}
35+
};
36+
2737
/**
2838
* @return a Maybe that, upon emission, will trigger disposal.
2939
*/

autodispose/src/main/java/com/uber/autodispose/TestScopeProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ public static TestScopeProvider create(Maybe<?> delegate) {
5252
* scope is unbound.
5353
*
5454
* @return the created TestScopeProvider
55+
* @deprecated in favor of {@link ScopeProvider#UNBOUND}. This method will be removed in 1.0.
5556
*/
56-
public static TestScopeProvider unbound() {
57+
@Deprecated public static TestScopeProvider unbound() {
5758
return create(Maybe.empty());
5859
}
5960

autodispose/src/test/java/com/uber/autodispose/AutoDisposeCompletableObserverTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import io.reactivex.CompletableEmitter;
2323
import io.reactivex.CompletableObserver;
2424
import io.reactivex.CompletableOnSubscribe;
25-
import io.reactivex.Maybe;
2625
import io.reactivex.functions.BiFunction;
2726
import io.reactivex.functions.Cancellable;
2827
import io.reactivex.functions.Consumer;
@@ -311,7 +310,7 @@ public CompletableObserver apply(Completable source, CompletableObserver observe
311310
}
312311
});
313312
Completable.complete()
314-
.to(AutoDispose.with(Maybe.never())
313+
.to(AutoDispose.with(ScopeProvider.UNBOUND)
315314
.forCompletable())
316315
.subscribe();
317316

autodispose/src/test/java/com/uber/autodispose/AutoDisposeMaybeObserverTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public class AutoDisposeMaybeObserverTest {
7474

7575
@Test public void autoDispose_withSuperClassGenerics_compilesFine() {
7676
Maybe.just(new BClass())
77-
.to(AutoDispose.with(Maybe.never()).<AClass>forMaybe())
77+
.to(AutoDispose.with(ScopeProvider.UNBOUND).<AClass>forMaybe())
7878
.subscribe(new Consumer<AClass>() {
7979
@Override public void accept(AClass aClass) throws Exception {
8080

@@ -84,7 +84,7 @@ public class AutoDisposeMaybeObserverTest {
8484

8585
@Test public void autoDispose_noGenericsOnEmpty_isFine() {
8686
Maybe.just(new BClass())
87-
.to(AutoDispose.with(Maybe.never())
87+
.to(AutoDispose.with(ScopeProvider.UNBOUND)
8888
.forMaybe())
8989
.subscribe();
9090
}
@@ -343,7 +343,7 @@ public class AutoDisposeMaybeObserverTest {
343343
}
344344
});
345345
Maybe.just(1)
346-
.to(AutoDispose.with(Maybe.never()).<Integer>forMaybe())
346+
.to(AutoDispose.with(ScopeProvider.UNBOUND).<Integer>forMaybe())
347347
.subscribe();
348348

349349
assertThat(atomicAutoDisposingObserver.get()).isNotNull();

autodispose/src/test/java/com/uber/autodispose/AutoDisposeObserverTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import com.uber.autodispose.observers.AutoDisposingObserver;
2020
import com.uber.autodispose.test.RecordingObserver;
21-
import io.reactivex.Maybe;
2221
import io.reactivex.Observable;
2322
import io.reactivex.ObservableEmitter;
2423
import io.reactivex.ObservableOnSubscribe;
@@ -77,7 +76,7 @@ public class AutoDisposeObserverTest {
7776

7877
@Test public void autoDispose_withSuperClassGenerics_compilesFine() {
7978
Observable.just(new BClass())
80-
.to(AutoDispose.with(Maybe.never()).<AClass>forObservable())
79+
.to(AutoDispose.with(ScopeProvider.UNBOUND).<AClass>forObservable())
8180
.subscribe(new Consumer<AClass>() {
8281
@Override public void accept(AClass aClass) throws Exception {
8382

@@ -87,7 +86,7 @@ public class AutoDisposeObserverTest {
8786

8887
@Test public void autoDispose_noGenericsOnEmpty_isFine() {
8988
Observable.just(new BClass())
90-
.to(AutoDispose.with(Maybe.never())
89+
.to(AutoDispose.with(ScopeProvider.UNBOUND)
9190
.forObservable())
9291
.subscribe();
9392
}
@@ -278,7 +277,7 @@ public class AutoDisposeObserverTest {
278277
}
279278
});
280279
Observable.just(1)
281-
.to(AutoDispose.with(Maybe.never()).<Integer>forObservable())
280+
.to(AutoDispose.with(ScopeProvider.UNBOUND).<Integer>forObservable())
282281
.subscribe();
283282

284283
assertThat(atomicAutoDisposingObserver.get()).isNotNull();

autodispose/src/test/java/com/uber/autodispose/AutoDisposeSingleObserverTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import com.uber.autodispose.observers.AutoDisposingSingleObserver;
2020
import com.uber.autodispose.test.RecordingObserver;
21-
import io.reactivex.Maybe;
2221
import io.reactivex.Single;
2322
import io.reactivex.SingleEmitter;
2423
import io.reactivex.SingleObserver;
@@ -76,7 +75,7 @@ public class AutoDisposeSingleObserverTest {
7675

7776
@Test public void autoDispose_withSuperClassGenerics_compilesFine() {
7877
Single.just(new BClass())
79-
.to(AutoDispose.with(Maybe.never()).<AClass>forSingle())
78+
.to(AutoDispose.with(ScopeProvider.UNBOUND).<AClass>forSingle())
8079
.subscribe(new Consumer<AClass>() {
8180
@Override public void accept(AClass aClass) throws Exception {
8281

@@ -86,7 +85,7 @@ public class AutoDisposeSingleObserverTest {
8685

8786
@Test public void autoDispose_noGenericsOnEmpty_isFine() {
8887
Single.just(new BClass())
89-
.to(AutoDispose.with(Maybe.never())
88+
.to(AutoDispose.with(ScopeProvider.UNBOUND)
9089
.forSingle())
9190
.subscribe();
9291
}
@@ -314,7 +313,7 @@ public class AutoDisposeSingleObserverTest {
314313
}
315314
});
316315
Single.just(1)
317-
.to(AutoDispose.with(Maybe.never()).<Integer>forSingle())
316+
.to(AutoDispose.with(ScopeProvider.UNBOUND).<Integer>forSingle())
318317
.subscribe();
319318

320319
assertThat(atomicAutoDisposingObserver.get()).isNotNull();

autodispose/src/test/java/com/uber/autodispose/AutoDisposeSubscriberTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import io.reactivex.Flowable;
2222
import io.reactivex.FlowableEmitter;
2323
import io.reactivex.FlowableOnSubscribe;
24-
import io.reactivex.Maybe;
2524
import io.reactivex.disposables.Disposable;
2625
import io.reactivex.functions.BiFunction;
2726
import io.reactivex.functions.Cancellable;
@@ -72,7 +71,7 @@ public class AutoDisposeSubscriberTest {
7271

7372
@Test public void autoDispose_withSuperClassGenerics_compilesFine() {
7473
Flowable.just(new BClass())
75-
.to(AutoDispose.with(Maybe.never()).<AClass>forFlowable())
74+
.to(AutoDispose.with(ScopeProvider.UNBOUND).<AClass>forFlowable())
7675
.subscribe(new Consumer<AClass>() {
7776
@Override public void accept(AClass aClass) throws Exception {
7877

@@ -82,7 +81,7 @@ public class AutoDisposeSubscriberTest {
8281

8382
@Test public void autoDispose_noGenericsOnEmpty_isFine() {
8483
Flowable.just(new BClass())
85-
.to(AutoDispose.with(Maybe.never())
84+
.to(AutoDispose.with(ScopeProvider.UNBOUND)
8685
.forFlowable())
8786
.subscribe();
8887
}
@@ -289,7 +288,7 @@ public class AutoDisposeSubscriberTest {
289288
}
290289
});
291290
Flowable.just(1)
292-
.to(AutoDispose.with(Maybe.never()).<Integer>forFlowable())
291+
.to(AutoDispose.with(ScopeProvider.UNBOUND).<Integer>forFlowable())
293292
.subscribe();
294293

295294
assertThat(atomicAutoDisposingSubscriber.get()).isNotNull();

0 commit comments

Comments
 (0)