package org.kidinov.just_weather.util; import io.reactivex.FlowableTransformer; import io.reactivex.MaybeTransformer; import io.reactivex.ObservableTransformer; import io.reactivex.SingleTransformer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; public class RxUtil { public static void unsubscribe(Disposable disposable) { if (disposable != null && !disposable.isDisposed()) { disposable.dispose(); } } public static <T> ObservableTransformer<T, T> applySchedulers() { return observable -> observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public static <T> MaybeTransformer<T, T> applyMaybeSchedulers() { return observable -> observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public static <T> SingleTransformer<T, T> applySingleSchedulers() { return observable -> observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public static <T> FlowableTransformer<T, T> applyFlowableSchedulers() { return observable -> observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } }