Guest User

Untitled

a guest
Oct 18th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. override fun call(): Observable<MyType> {
  2. return Observable.just(getData())
  3. .compose(threadTransformer.applySchedulers<MyType>())
  4. }
  5.  
  6. // default schedulers
  7. fun <T> Observable<T>.applySchedulers(): Observable<T> {
  8. return subscribeOn(Schedulers.computation()).observeOn(AndroidSchedulers.mainThread())
  9. }
  10.  
  11. // custom transformer
  12. fun <T> Observable<T>.applySchedulers(transformer: ThreadTransformer): Observable<T> {
  13. return compose(transformer.applySchedulers<T>())
  14. }
  15.  
  16. override fun call(): Observable<MyType> {
  17. return Observable.just(getData()).applySchedulers()
  18. }
  19.  
  20. //Observable
  21. fun <T> Observable<T>.applyIoScheduler() = applyScheduler(Schedulers.io())
  22. fun <T> Observable<T>.applyComputationScheduler() = applyScheduler(Schedulers.computation())
  23. private fun <T> Observable<T>.applyScheduler(scheduler: Scheduler) =
  24. subscribeOn(scheduler).observeOn(AndroidSchedulers.mainThread())
  25.  
  26. //Single
  27. fun <T> Single<T>.applyIoScheduler() = applyScheduler(Schedulers.io())
  28. fun <T> Single<T>.applyComputationScheduler() = applyScheduler(Schedulers.computation())
  29. private fun <T> Single<T>.applyScheduler(scheduler: Scheduler) =
  30. subscribeOn(scheduler).observeOn(AndroidSchedulers.mainThread())
  31.  
  32. //Completable
  33. //..
Add Comment
Please, Sign In to add comment