Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- override fun call(): Observable<MyType> {
- return Observable.just(getData())
- .compose(threadTransformer.applySchedulers<MyType>())
- }
- // default schedulers
- fun <T> Observable<T>.applySchedulers(): Observable<T> {
- return subscribeOn(Schedulers.computation()).observeOn(AndroidSchedulers.mainThread())
- }
- // custom transformer
- fun <T> Observable<T>.applySchedulers(transformer: ThreadTransformer): Observable<T> {
- return compose(transformer.applySchedulers<T>())
- }
- override fun call(): Observable<MyType> {
- return Observable.just(getData()).applySchedulers()
- }
- //Observable
- fun <T> Observable<T>.applyIoScheduler() = applyScheduler(Schedulers.io())
- fun <T> Observable<T>.applyComputationScheduler() = applyScheduler(Schedulers.computation())
- private fun <T> Observable<T>.applyScheduler(scheduler: Scheduler) =
- subscribeOn(scheduler).observeOn(AndroidSchedulers.mainThread())
- //Single
- fun <T> Single<T>.applyIoScheduler() = applyScheduler(Schedulers.io())
- fun <T> Single<T>.applyComputationScheduler() = applyScheduler(Schedulers.computation())
- private fun <T> Single<T>.applyScheduler(scheduler: Scheduler) =
- subscribeOn(scheduler).observeOn(AndroidSchedulers.mainThread())
- //Completable
- //..
Add Comment
Please, Sign In to add comment