From 3131cf9eab677216cb3f91f0022e0a3c94a8a832 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Mon, 29 Oct 2018 16:41:29 -0700 Subject: [PATCH 1/7] Move default requestScope implementation in LifecycleScopeProvider up --- .../uber/autodispose/lifecycle/LifecycleScopeProvider.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lifecycle/autodispose-lifecycle/src/main/java/com/uber/autodispose/lifecycle/LifecycleScopeProvider.java b/lifecycle/autodispose-lifecycle/src/main/java/com/uber/autodispose/lifecycle/LifecycleScopeProvider.java index c559f58ba..0f8559486 100755 --- a/lifecycle/autodispose-lifecycle/src/main/java/com/uber/autodispose/lifecycle/LifecycleScopeProvider.java +++ b/lifecycle/autodispose-lifecycle/src/main/java/com/uber/autodispose/lifecycle/LifecycleScopeProvider.java @@ -19,6 +19,7 @@ import com.uber.autodispose.ScopeProvider; import com.uber.autodispose.internal.DoNotMock; import io.reactivex.Completable; +import io.reactivex.CompletableSource; import io.reactivex.Observable; import io.reactivex.annotations.CheckReturnValue; import io.reactivex.annotations.Nullable; @@ -54,4 +55,9 @@ public interface LifecycleScopeProvider extends ScopeProvider { * LifecycleNotStartedException}. */ @Nullable E peekLifecycle(); + + + @Override default CompletableSource requestScope() { + return LifecycleScopes.resolveScopeFromLifecycle(this); + } } From 2358ad159eb73af02c3080446c256b050bb8e7a6 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Mon, 29 Oct 2018 16:41:51 -0700 Subject: [PATCH 2/7] Deprecate DefaultLifecycleScopeProvider --- .../jdk8/DefaultLifecycleScopeProvider.java | 8 +- .../DefaultLifecycleScopeProviderTest.java | 94 ------------------- 2 files changed, 2 insertions(+), 100 deletions(-) delete mode 100644 lifecycle/autodispose-lifecycle-jdk8/src/test/java/com/uber/autodispose/lifecycle/jdk8/DefaultLifecycleScopeProviderTest.java diff --git a/lifecycle/autodispose-lifecycle-jdk8/src/main/java/com/uber/autodispose/lifecycle/jdk8/DefaultLifecycleScopeProvider.java b/lifecycle/autodispose-lifecycle-jdk8/src/main/java/com/uber/autodispose/lifecycle/jdk8/DefaultLifecycleScopeProvider.java index 45df0a828..b10a5ca63 100644 --- a/lifecycle/autodispose-lifecycle-jdk8/src/main/java/com/uber/autodispose/lifecycle/jdk8/DefaultLifecycleScopeProvider.java +++ b/lifecycle/autodispose-lifecycle-jdk8/src/main/java/com/uber/autodispose/lifecycle/jdk8/DefaultLifecycleScopeProvider.java @@ -17,18 +17,14 @@ package com.uber.autodispose.lifecycle.jdk8; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; -import io.reactivex.CompletableSource; /** * A convenience {@link LifecycleScopeProvider} that has a default implementation for * {@link #requestScope()}. * * @param the lifecycle event type. + * @deprecated this functionality is lifted directly into {@link LifecycleScopeProvider} now. */ +@Deprecated public interface DefaultLifecycleScopeProvider extends LifecycleScopeProvider { - - @Override default CompletableSource requestScope() { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } } diff --git a/lifecycle/autodispose-lifecycle-jdk8/src/test/java/com/uber/autodispose/lifecycle/jdk8/DefaultLifecycleScopeProviderTest.java b/lifecycle/autodispose-lifecycle-jdk8/src/test/java/com/uber/autodispose/lifecycle/jdk8/DefaultLifecycleScopeProviderTest.java deleted file mode 100644 index 0558f736f..000000000 --- a/lifecycle/autodispose-lifecycle-jdk8/src/test/java/com/uber/autodispose/lifecycle/jdk8/DefaultLifecycleScopeProviderTest.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (C) 2018. Uber Technologies - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.uber.autodispose.lifecycle.jdk8; - -import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; -import com.uber.autodispose.lifecycle.LifecycleEndedException; -import com.uber.autodispose.test.RecordingObserver; -import io.reactivex.Observable; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.PublishSubject; -import org.junit.Test; - -import static com.google.common.truth.Truth.assertThat; -import static com.uber.autodispose.AutoDispose.autoDisposable; - -public final class DefaultLifecycleScopeProviderTest { - - enum LifecycleEvent { - START, STOP - } - - /** - * A thing with a lifecycle that uses the default implementation of {@link #requestScope()}. - */ - static class ThingWithALifecycle implements DefaultLifecycleScopeProvider { - - BehaviorSubject lifecycle = BehaviorSubject.createDefault(LifecycleEvent.START); - - @Override public Observable lifecycle() { - return lifecycle.hide(); - } - - @Override public CorrespondingEventsFunction correspondingEvents() { - return event -> { - switch (event) { - case START: - return LifecycleEvent.STOP; - case STOP: - throw new LifecycleEndedException("Ended!"); - default: - throw new IllegalStateException("This can never happen"); - } - }; - } - - @Override public LifecycleEvent peekLifecycle() { - return lifecycle.getValue(); - } - } - - @Test public void smokeTest() { - RecordingObserver o = new RecordingObserver<>(System.out::println); - PublishSubject source = PublishSubject.create(); - ThingWithALifecycle provider = new ThingWithALifecycle(); - BehaviorSubject lifecycle = provider.lifecycle; - source.as(autoDisposable(provider)) - .subscribe(o); - o.takeSubscribe(); - - assertThat(source.hasObservers()).isTrue(); - assertThat(lifecycle.hasObservers()).isTrue(); - - source.onNext(1); - assertThat(o.takeNext()).isEqualTo(1); - - lifecycle.onNext(LifecycleEvent.START); - source.onNext(2); - - assertThat(source.hasObservers()).isTrue(); - assertThat(lifecycle.hasObservers()).isTrue(); - assertThat(o.takeNext()).isEqualTo(2); - - lifecycle.onNext(LifecycleEvent.STOP); - source.onNext(3); - - o.assertNoMoreEvents(); - assertThat(source.hasObservers()).isFalse(); - assertThat(lifecycle.hasObservers()).isFalse(); - } -} From 460becb47e198eb4fb66ab82f6bd726457311786 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Mon, 29 Oct 2018 16:42:03 -0700 Subject: [PATCH 3/7] Deprecate KotlinLifecycleScopeProvider --- .../lifecycle/KotlinLifecycleScopeProvider.kt | 15 ++- .../KotlinLifecycleScopeProviderTest.kt | 91 ------------------- 2 files changed, 10 insertions(+), 96 deletions(-) delete mode 100644 lifecycle/autodispose-lifecycle-ktx/src/test/kotlin/com/uber/autodispose/lifecycle/KotlinLifecycleScopeProviderTest.kt diff --git a/lifecycle/autodispose-lifecycle-ktx/src/main/kotlin/com/uber/autodispose/lifecycle/KotlinLifecycleScopeProvider.kt b/lifecycle/autodispose-lifecycle-ktx/src/main/kotlin/com/uber/autodispose/lifecycle/KotlinLifecycleScopeProvider.kt index 14ca7c042..e204f2952 100644 --- a/lifecycle/autodispose-lifecycle-ktx/src/main/kotlin/com/uber/autodispose/lifecycle/KotlinLifecycleScopeProvider.kt +++ b/lifecycle/autodispose-lifecycle-ktx/src/main/kotlin/com/uber/autodispose/lifecycle/KotlinLifecycleScopeProvider.kt @@ -16,8 +16,7 @@ package com.uber.autodispose.lifecycle -import com.uber.autodispose.lifecycle.LifecycleScopes.resolveScopeFromLifecycle -import io.reactivex.CompletableSource +import kotlin.DeprecationLevel.HIDDEN /** * A convenience [LifecycleScopeProvider] that has a default implementation for @@ -25,6 +24,12 @@ import io.reactivex.CompletableSource * * @param the lifecycle event type. */ -interface KotlinLifecycleScopeProvider : LifecycleScopeProvider { - override fun requestScope(): CompletableSource = resolveScopeFromLifecycle(this) -} +@Deprecated( + message = "This functionality is now pushed up into LifecycleScopeProvider directly.", + replaceWith = ReplaceWith( + expression = "LifecycleScopeProvider", // Unfortunately we can't make this better yet https://youtrack.jetbrains.com/issue/KT-21195 + imports = ["com.uber.autodispose.lifecycle.LifecycleScopeProvider"] + ), + level = HIDDEN +) +interface KotlinLifecycleScopeProvider : LifecycleScopeProvider diff --git a/lifecycle/autodispose-lifecycle-ktx/src/test/kotlin/com/uber/autodispose/lifecycle/KotlinLifecycleScopeProviderTest.kt b/lifecycle/autodispose-lifecycle-ktx/src/test/kotlin/com/uber/autodispose/lifecycle/KotlinLifecycleScopeProviderTest.kt deleted file mode 100644 index c0a59dfa3..000000000 --- a/lifecycle/autodispose-lifecycle-ktx/src/test/kotlin/com/uber/autodispose/lifecycle/KotlinLifecycleScopeProviderTest.kt +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (C) 2018. Uber Technologies - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.uber.autodispose.lifecycle - -import com.google.common.truth.Truth.assertThat -import com.uber.autodispose.lifecycle.KotlinLifecycleScopeProviderTest.LifecycleEvent.START -import com.uber.autodispose.lifecycle.KotlinLifecycleScopeProviderTest.LifecycleEvent.STOP -import com.uber.autodispose.test.RecordingObserver -import io.reactivex.Observable -import io.reactivex.subjects.BehaviorSubject -import io.reactivex.subjects.PublishSubject -import org.junit.Test - -class KotlinLifecycleScopeProviderTest { - - internal enum class LifecycleEvent { - START, STOP - } - - /** - * A thing with a lifecycle that uses the default implementation of [requestScope]. - */ - internal class ThingWithALifecycle : KotlinLifecycleScopeProvider { - - var lifecycle: BehaviorSubject = BehaviorSubject.createDefault( - START) - - override fun lifecycle(): Observable { - return lifecycle.hide() - } - - override fun correspondingEvents(): CorrespondingEventsFunction { - return CorrespondingEventsFunction { event -> - when (event) { - START -> STOP - STOP -> throw LifecycleEndedException( - "Ended!") - } - } - } - - override fun peekLifecycle(): LifecycleEvent? { - return lifecycle.value - } - } - - @Test - fun smokeTest() { - val o = RecordingObserver(System.out::println) - val source = PublishSubject.create() - val provider = ThingWithALifecycle() - val lifecycle = provider.lifecycle - source.autoDisposable(provider) - .subscribe(o) - o.takeSubscribe() - - assertThat(source.hasObservers()).isTrue() - assertThat(lifecycle.hasObservers()).isTrue() - - source.onNext(1) - assertThat(o.takeNext()).isEqualTo(1) - - lifecycle.onNext(START) - source.onNext(2) - - assertThat(source.hasObservers()).isTrue() - assertThat(lifecycle.hasObservers()).isTrue() - assertThat(o.takeNext()).isEqualTo(2) - - lifecycle.onNext(STOP) - source.onNext(3) - - o.assertNoMoreEvents() - assertThat(source.hasObservers()).isFalse() - assertThat(lifecycle.hasObservers()).isFalse() - } -} From 5132a2575e7c80aa692b81c5d5efa724fd1d9d85 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Mon, 29 Oct 2018 17:00:07 -0700 Subject: [PATCH 4/7] Nix extra line --- .../com/uber/autodispose/lifecycle/LifecycleScopeProvider.java | 1 - 1 file changed, 1 deletion(-) diff --git a/lifecycle/autodispose-lifecycle/src/main/java/com/uber/autodispose/lifecycle/LifecycleScopeProvider.java b/lifecycle/autodispose-lifecycle/src/main/java/com/uber/autodispose/lifecycle/LifecycleScopeProvider.java index 0f8559486..b4a29ed5f 100755 --- a/lifecycle/autodispose-lifecycle/src/main/java/com/uber/autodispose/lifecycle/LifecycleScopeProvider.java +++ b/lifecycle/autodispose-lifecycle/src/main/java/com/uber/autodispose/lifecycle/LifecycleScopeProvider.java @@ -56,7 +56,6 @@ public interface LifecycleScopeProvider extends ScopeProvider { */ @Nullable E peekLifecycle(); - @Override default CompletableSource requestScope() { return LifecycleScopes.resolveScopeFromLifecycle(this); } From be39cb99caa9543d4145541f99660be877c4a5aa Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Wed, 12 Dec 2018 00:29:25 -0800 Subject: [PATCH 5/7] Update ErrorProne tests --- .../UseAutoDisposeDefaultClassPositiveCases.java | 7 ------- .../UseAutoDisposeDefaultClassPositiveCasesLenient.java | 6 ------ .../errorprone/UseAutoDisposeNegativeCases.java | 7 ------- .../errorprone/UseAutoDisposeNegativeCasesExcluded.java | 7 ------- .../errorprone/UseAutoDisposeNegativeCasesLenient.java | 6 ------ 5 files changed, 33 deletions(-) diff --git a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCases.java b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCases.java index 45affe7ef..968f21ab1 100644 --- a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCases.java +++ b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCases.java @@ -19,11 +19,8 @@ import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; -import com.uber.autodispose.lifecycle.TestLifecycleScopeProvider; import com.uber.autodispose.lifecycle.TestLifecycleScopeProvider.TestLifecycle; import io.reactivex.Completable; -import io.reactivex.CompletableSource; import io.reactivex.Flowable; import io.reactivex.Maybe; import io.reactivex.Observable; @@ -77,10 +74,6 @@ public CorrespondingEventsFunction correspondingEvents() { return lifecycleSubject.getValue(); } - @Override public CompletableSource requestScope() { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } - public void observable_subscribeWithoutAutoDispose() { Observable.empty() // BUG: Diagnostic contains: Always apply an AutoDispose scope before subscribing within defined scoped elements. diff --git a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCasesLenient.java b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCasesLenient.java index 04d2639f8..bcd19a051 100644 --- a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCasesLenient.java +++ b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCasesLenient.java @@ -19,10 +19,8 @@ import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; import com.uber.autodispose.lifecycle.TestLifecycleScopeProvider.TestLifecycle; import io.reactivex.Completable; -import io.reactivex.CompletableSource; import io.reactivex.Flowable; import io.reactivex.Maybe; import io.reactivex.Observable; @@ -76,10 +74,6 @@ public class UseAutoDisposeDefaultClassPositiveCasesLenient return lifecycleSubject.getValue(); } - @Override public CompletableSource requestScope() throws Exception { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } - public void observable_subscribeWithoutAutoDispose() { Observable.empty() // BUG: Diagnostic contains: Always apply an AutoDispose scope before subscribing within diff --git a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCases.java b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCases.java index 6526bf1fc..aec37e1a7 100644 --- a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCases.java +++ b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCases.java @@ -20,11 +20,8 @@ import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; -import com.uber.autodispose.lifecycle.TestLifecycleScopeProvider; import com.uber.autodispose.lifecycle.TestLifecycleScopeProvider.TestLifecycle; import io.reactivex.Completable; -import io.reactivex.CompletableSource; import io.reactivex.Flowable; import io.reactivex.Maybe; import io.reactivex.Observable; @@ -79,10 +76,6 @@ public CorrespondingEventsFunction correspondingEvents() { return lifecycleSubject.getValue(); } - @Override public CompletableSource requestScope() throws Exception { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } - public void observable_subscribeWithAutoDispose() { Observable.just(1) .as(autoDisposable(this)) diff --git a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCasesExcluded.java b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCasesExcluded.java index d45057d3c..34f28d24d 100644 --- a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCasesExcluded.java +++ b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCasesExcluded.java @@ -20,11 +20,8 @@ import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; -import com.uber.autodispose.lifecycle.TestLifecycleScopeProvider; import com.uber.autodispose.lifecycle.TestLifecycleScopeProvider.TestLifecycle; import io.reactivex.Completable; -import io.reactivex.CompletableSource; import io.reactivex.Flowable; import io.reactivex.Maybe; import io.reactivex.Observable; @@ -79,10 +76,6 @@ public CorrespondingEventsFunction correspondingEvents() { return lifecycleSubject.getValue(); } - @Override public CompletableSource requestScope() throws Exception { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } - public void observable_subscribeWithAutoDispose() { Observable.just(1) .as(autoDisposable(this)) diff --git a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCasesLenient.java b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCasesLenient.java index 1e7ec5434..3cc3d7a1e 100644 --- a/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCasesLenient.java +++ b/static-analysis/autodispose-error-prone/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCasesLenient.java @@ -20,10 +20,8 @@ import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; import com.uber.autodispose.lifecycle.TestLifecycleScopeProvider.TestLifecycle; import io.reactivex.Completable; -import io.reactivex.CompletableSource; import io.reactivex.Flowable; import io.reactivex.Maybe; import io.reactivex.Observable; @@ -78,10 +76,6 @@ public class UseAutoDisposeNegativeCasesLenient implements LifecycleScopeProvide return lifecycleSubject.getValue(); } - @Override public CompletableSource requestScope() throws Exception { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } - public void observable_subscribeWithAutoDispose() { Observable.just(1) .as(autoDisposable(this)) From baca057f6975487a327ec1c0c13f5d16427428bb Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Wed, 12 Dec 2018 21:41:39 -0800 Subject: [PATCH 6/7] Remove from samples --- .../uber/autodispose/recipes/AutoDisposeActivity.java | 6 ------ .../uber/autodispose/recipes/AutoDisposeFragment.java | 8 +------- .../com/uber/autodispose/recipes/AutoDisposeView.java | 10 ++-------- .../autodispose/recipes/AutoDisposeViewHolder.java | 6 ------ .../autodispose/recipes/AutoDisposeActivityKotlin.kt | 6 ------ .../autodispose/recipes/AutoDisposeFragmentKotlin.kt | 6 ------ .../autodispose/recipes/AutoDisposeViewHolderKotlin.kt | 6 ------ .../uber/autodispose/recipes/AutoDisposeViewKotlin.kt | 8 +------- .../uber/autodispose/recipes/AutoDisposeViewModel.kt | 6 ------ 9 files changed, 4 insertions(+), 58 deletions(-) diff --git a/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeActivity.java b/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeActivity.java index a44fb9312..315395ea8 100644 --- a/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeActivity.java +++ b/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeActivity.java @@ -22,8 +22,6 @@ import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; -import io.reactivex.CompletableSource; import io.reactivex.Observable; import io.reactivex.subjects.BehaviorSubject; @@ -76,10 +74,6 @@ public enum ActivityEvent { return lifecycleEvents.getValue(); } - @Override public CompletableSource requestScope() { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } - @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); lifecycleEvents.onNext(ActivityEvent.CREATE); diff --git a/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeFragment.java b/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeFragment.java index c11ed9209..7d0003830 100644 --- a/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeFragment.java +++ b/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeFragment.java @@ -19,13 +19,11 @@ import android.app.Fragment; import android.content.Context; import android.os.Bundle; -import androidx.annotation.Nullable; import android.view.View; +import androidx.annotation.Nullable; import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; -import io.reactivex.CompletableSource; import io.reactivex.Observable; import io.reactivex.subjects.BehaviorSubject; @@ -86,10 +84,6 @@ public enum FragmentEvent { return lifecycleEvents.getValue(); } - @Override public CompletableSource requestScope() { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } - @Override public void onAttach(Context context) { super.onAttach(context); lifecycleEvents.onNext(FragmentEvent.ATTACH); diff --git a/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeView.java b/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeView.java index 8f4e9f8ec..006c0ec81 100644 --- a/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeView.java +++ b/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeView.java @@ -18,16 +18,14 @@ import android.content.Context; import android.os.Build; -import androidx.annotation.Nullable; -import androidx.annotation.RequiresApi; import android.util.AttributeSet; import android.view.View; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import com.uber.autodispose.android.ViewScopeProvider; import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; -import io.reactivex.CompletableSource; import io.reactivex.Observable; import io.reactivex.subjects.BehaviorSubject; @@ -116,8 +114,4 @@ public ViewEvent peekLifecycle() { //noinspection ConstantConditions only in layoutlib return lifecycleEvents.getValue(); } - - @Override public CompletableSource requestScope() { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } } diff --git a/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeViewHolder.java b/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeViewHolder.java index 42e476723..1867b6aab 100644 --- a/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeViewHolder.java +++ b/sample/src/main/java/com/uber/autodispose/recipes/AutoDisposeViewHolder.java @@ -21,8 +21,6 @@ import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; -import com.uber.autodispose.lifecycle.LifecycleScopes; -import io.reactivex.CompletableSource; import io.reactivex.Observable; import io.reactivex.annotations.Nullable; import io.reactivex.subjects.BehaviorSubject; @@ -67,10 +65,6 @@ public AutoDisposeViewHolder(View itemView) { return lifecycleEvents.getValue(); } - @Override public CompletableSource requestScope() { - return LifecycleScopes.resolveScopeFromLifecycle(this); - } - @Override protected void onBind() { lifecycleEvents.onNext(ViewHolderEvent.BIND); } diff --git a/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeActivityKotlin.kt b/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeActivityKotlin.kt index 06590a519..5d496d268 100644 --- a/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeActivityKotlin.kt +++ b/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeActivityKotlin.kt @@ -21,7 +21,6 @@ import android.os.Bundle import com.uber.autodispose.lifecycle.CorrespondingEventsFunction import com.uber.autodispose.lifecycle.LifecycleEndedException import com.uber.autodispose.lifecycle.LifecycleScopeProvider -import com.uber.autodispose.lifecycle.LifecycleScopes import com.uber.autodispose.recipes.AutoDisposeActivityKotlin.ActivityEvent import com.uber.autodispose.recipes.AutoDisposeActivityKotlin.ActivityEvent.CREATE import com.uber.autodispose.recipes.AutoDisposeActivityKotlin.ActivityEvent.DESTROY @@ -29,7 +28,6 @@ import com.uber.autodispose.recipes.AutoDisposeActivityKotlin.ActivityEvent.PAUS import com.uber.autodispose.recipes.AutoDisposeActivityKotlin.ActivityEvent.RESUME import com.uber.autodispose.recipes.AutoDisposeActivityKotlin.ActivityEvent.START import com.uber.autodispose.recipes.AutoDisposeActivityKotlin.ActivityEvent.STOP -import io.reactivex.CompletableSource import io.reactivex.Observable import io.reactivex.subjects.BehaviorSubject @@ -82,10 +80,6 @@ abstract class AutoDisposeActivityKotlin : Activity(), LifecycleScopeProvider { viewHolderEvent -> diff --git a/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewKotlin.kt b/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewKotlin.kt index 6810d649c..5ffd4c364 100644 --- a/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewKotlin.kt +++ b/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewKotlin.kt @@ -18,18 +18,16 @@ package com.uber.autodispose.recipes import android.content.Context import android.os.Build -import androidx.annotation.RequiresApi import android.util.AttributeSet import android.view.View +import androidx.annotation.RequiresApi import com.uber.autodispose.android.ViewScopeProvider import com.uber.autodispose.lifecycle.CorrespondingEventsFunction import com.uber.autodispose.lifecycle.LifecycleEndedException import com.uber.autodispose.lifecycle.LifecycleScopeProvider -import com.uber.autodispose.lifecycle.LifecycleScopes import com.uber.autodispose.recipes.AutoDisposeViewKotlin.ViewEvent import com.uber.autodispose.recipes.AutoDisposeViewKotlin.ViewEvent.ATTACH import com.uber.autodispose.recipes.AutoDisposeViewKotlin.ViewEvent.DETACH -import io.reactivex.CompletableSource import io.reactivex.Observable import io.reactivex.subjects.BehaviorSubject @@ -76,10 +74,6 @@ abstract class AutoDisposeViewKotlin : View, LifecycleScopeProvider { return lifecycleEvents.value } - override fun requestScope(): CompletableSource { - return LifecycleScopes.resolveScopeFromLifecycle(this) - } - companion object { /** diff --git a/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewModel.kt b/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewModel.kt index b3fe4e7e5..7b737fee7 100644 --- a/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewModel.kt +++ b/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewModel.kt @@ -20,10 +20,8 @@ import androidx.lifecycle.ViewModel import com.uber.autodispose.lifecycle.CorrespondingEventsFunction import com.uber.autodispose.lifecycle.LifecycleEndedException import com.uber.autodispose.lifecycle.LifecycleScopeProvider -import com.uber.autodispose.lifecycle.LifecycleScopes import com.uber.autodispose.recipes.AutoDisposeViewModel.ViewModelEvent import com.uber.autodispose.recipes.AutoDisposeViewModel.ViewModelEvent.CREATED -import io.reactivex.CompletableSource import io.reactivex.Observable import io.reactivex.subjects.BehaviorSubject @@ -78,10 +76,6 @@ abstract class AutoDisposeViewModel: ViewModel(), LifecycleScopeProvider target disposal event. ViewModel has a very simple lifecycle. From 8d6cf4c382c4e330f44a535a16f67d128cb08074 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Wed, 12 Dec 2018 21:43:33 -0800 Subject: [PATCH 7/7] Opportunistic add missing doc --- .../kotlin/com/uber/autodispose/recipes/AutoDisposeViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewModel.kt b/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewModel.kt index 7b737fee7..6706a91ba 100644 --- a/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewModel.kt +++ b/sample/src/main/kotlin/com/uber/autodispose/recipes/AutoDisposeViewModel.kt @@ -26,7 +26,7 @@ import io.reactivex.Observable import io.reactivex.subjects.BehaviorSubject /** - * + * Demo base [ViewModel] that can automatically dispose itself in [onCleared]. */ abstract class AutoDisposeViewModel: ViewModel(), LifecycleScopeProvider {