Skip to content

Instantly share code, notes, and snippets.

@crimsonwoods
Created August 28, 2021 05:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save crimsonwoods/3b009664963ede6667a8f3d1244fbfa9 to your computer and use it in GitHub Desktop.
Save crimsonwoods/3b009664963ede6667a8f3d1244fbfa9 to your computer and use it in GitHub Desktop.
package packge.for.you
import android.view.View
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import autodispose2.CompletableSubscribeProxy
import autodispose2.FlowableSubscribeProxy
import autodispose2.MaybeSubscribeProxy
import autodispose2.ObservableSubscribeProxy
import autodispose2.ScopeProvider
import autodispose2.SingleSubscribeProxy
import autodispose2.android.autoDispose
import autodispose2.androidx.lifecycle.autoDispose
import autodispose2.autoDispose
import hu.akarnokd.rxjava3.bridge.RxJavaBridge
import io.reactivex.Completable
import io.reactivex.Flowable
import io.reactivex.Maybe
import io.reactivex.Observable
import io.reactivex.Single
fun <T : Any> Observable<T>.autoDispose(scopeProvider: ScopeProvider): ObservableSubscribeProxy<T> {
return RxJavaBridge.toV3Observable(this).autoDispose(scopeProvider)
}
fun <T : Any> Flowable<T>.autoDispose(scopeProvider: ScopeProvider): FlowableSubscribeProxy<T> {
return RxJavaBridge.toV3Flowable(this).autoDispose(scopeProvider)
}
fun <T : Any> Single<T>.autoDispose(scopeProvider: ScopeProvider): SingleSubscribeProxy<T> {
return RxJavaBridge.toV3Single(this).autoDispose(scopeProvider)
}
fun <T : Any> Maybe<T>.autoDispose(scopeProvider: ScopeProvider): MaybeSubscribeProxy<T> {
return RxJavaBridge.toV3Maybe(this).autoDispose(scopeProvider)
}
fun Completable.autoDispose(scopeProvider: ScopeProvider): CompletableSubscribeProxy {
return RxJavaBridge.toV3Completable(this).autoDispose(scopeProvider)
}
fun <T : Any> Observable<T>.autoDispose(lifecycleOwner: LifecycleOwner, untilEvent: Lifecycle.Event? = null): ObservableSubscribeProxy<T> {
return RxJavaBridge.toV3Observable(this).autoDispose(lifecycleOwner = lifecycleOwner, untilEvent = untilEvent)
}
fun <T : Any> Flowable<T>.autoDispose(lifecycleOwner: LifecycleOwner, untilEvent: Lifecycle.Event? = null): FlowableSubscribeProxy<T> {
return RxJavaBridge.toV3Flowable(this).autoDispose(lifecycleOwner = lifecycleOwner, untilEvent = untilEvent)
}
fun <T : Any> Single<T>.autoDispose(lifecycleOwner: LifecycleOwner, untilEvent: Lifecycle.Event? = null): SingleSubscribeProxy<T> {
return RxJavaBridge.toV3Single(this).autoDispose(lifecycleOwner = lifecycleOwner, untilEvent = untilEvent)
}
fun <T : Any> Maybe<T>.autoDispose(lifecycleOwner: LifecycleOwner, untilEvent: Lifecycle.Event? = null): MaybeSubscribeProxy<T> {
return RxJavaBridge.toV3Maybe(this).autoDispose(lifecycleOwner = lifecycleOwner, untilEvent = untilEvent)
}
fun Completable.autoDispose(lifecycleOwner: LifecycleOwner, untilEvent: Lifecycle.Event? = null): CompletableSubscribeProxy {
return RxJavaBridge.toV3Completable(this).autoDispose(lifecycleOwner = lifecycleOwner, untilEvent = untilEvent)
}
fun <T : Any> Observable<T>.autoDispose(view: View): ObservableSubscribeProxy<T> {
return RxJavaBridge.toV3Observable(this).autoDispose(view)
}
fun <T : Any> Flowable<T>.autoDispose(view: View): FlowableSubscribeProxy<T> {
return RxJavaBridge.toV3Flowable(this).autoDispose(view)
}
fun <T : Any> Single<T>.autoDispose(view: View): SingleSubscribeProxy<T> {
return RxJavaBridge.toV3Single(this).autoDispose(view)
}
fun <T : Any> Maybe<T>.autoDispose(view: View): MaybeSubscribeProxy<T> {
return RxJavaBridge.toV3Maybe(this).autoDispose(view)
}
fun Completable.autoDispose(view: View): CompletableSubscribeProxy {
return RxJavaBridge.toV3Completable(this).autoDispose(view)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment