Skip to content

Commit 84845e5

Browse files
committed
Upgrade autodispose
1 parent dfe41d0 commit 84845e5

File tree

3 files changed

+31
-4
lines changed

3 files changed

+31
-4
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ dependencies {
4747
// ReactiveX
4848
implementation "io.reactivex.rxjava2:rxjava:2.1.8"
4949
implementation "io.reactivex.rxjava2:rxandroid:2.0.1"
50-
def AUTO_DISPOSE_VERSION = "0.4.0"
50+
def AUTO_DISPOSE_VERSION = "0.8.0"
5151
implementation "com.uber.autodispose:autodispose:${AUTO_DISPOSE_VERSION}"
5252
implementation "com.uber.autodispose:autodispose-android:${AUTO_DISPOSE_VERSION}"
5353
implementation "com.uber.autodispose:autodispose-android-archcomponents:${AUTO_DISPOSE_VERSION}"

app/src/main/java/cn/nekocode/gank/base/BaseActivity.kt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ package cn.nekocode.gank.base
1919
import android.support.v4.app.NavUtils
2020
import android.support.v7.app.AppCompatActivity
2121
import android.view.MenuItem
22+
import com.uber.autodispose.*
23+
import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider
24+
import io.reactivex.*
25+
import io.reactivex.annotations.CheckReturnValue
26+
import io.reactivex.parallel.ParallelFlowable
2227

2328
/**
2429
* @author nekocode ([email protected])
@@ -40,4 +45,28 @@ open class BaseActivity: AppCompatActivity() {
4045
}
4146
}
4247
}
48+
49+
private val scopeProvider by lazy { AndroidLifecycleScopeProvider.from(this) }
50+
51+
/**
52+
* Modified from https://github.com/uber/AutoDispose
53+
*/
54+
@CheckReturnValue
55+
fun <T> Flowable<T>.autoDisposable(): FlowableSubscribeProxy<T>
56+
= this.`as`(AutoDispose.autoDisposable(scopeProvider))
57+
@CheckReturnValue
58+
fun <T> Observable<T>.autoDisposable(): ObservableSubscribeProxy<T>
59+
= this.`as`(AutoDispose.autoDisposable(scopeProvider))
60+
@CheckReturnValue
61+
fun <T> Single<T>.autoDisposable(): SingleSubscribeProxy<T>
62+
= this.`as`(AutoDispose.autoDisposable(scopeProvider))
63+
@CheckReturnValue
64+
fun <T> Maybe<T>.autoDisposable(): MaybeSubscribeProxy<T>
65+
= this.`as`(AutoDispose.autoDisposable(scopeProvider))
66+
@CheckReturnValue
67+
fun Completable.autoDisposable(): CompletableSubscribeProxy
68+
= this.`as`(AutoDispose.autoDisposable<Any>(scopeProvider))
69+
@CheckReturnValue
70+
fun <T> ParallelFlowable<T>.autoDisposable(): ParallelFlowableSubscribeProxy<T>
71+
= this.`as`(AutoDispose.autoDisposable(scopeProvider))
4372
}

app/src/main/java/cn/nekocode/gank/ui/pic/PicActivity.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ import cn.nekocode.gank.gankIoService
2626
import com.evernote.android.state.State
2727
import com.evernote.android.state.StateSaver
2828
import com.squareup.picasso.Picasso
29-
import com.uber.autodispose.AutoDispose
30-
import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider
3129
import io.reactivex.Single
3230
import io.reactivex.android.schedulers.AndroidSchedulers
3331
import io.reactivex.schedulers.Schedulers
@@ -63,7 +61,7 @@ class PicActivity : BaseActivity() {
6361
}
6462
}
6563
.observeOn(AndroidSchedulers.mainThread())
66-
.to(AutoDispose.with(AndroidLifecycleScopeProvider.from(this)).forSingle())
64+
.autoDisposable()
6765
.subscribe({ pic ->
6866
title = pic.id
6967
Picasso.with(this).load(pic.url).centerCrop().fit().into(imageView)

0 commit comments

Comments
 (0)