package com.classic.car.utils;
import android.text.TextUtils;
import rx.Observable;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action1;
import rx.schedulers.Schedulers;
/**
* 应用名称: CarAssistant
* 包 名 称: com.classic.car.utils
*
* 文件描述: TODO
* 创 建 人: 续写经典
* 创建时间: 2016/7/30 15:06
*/
public final class RxUtil {
public static Observable.Transformer IO_TRANSFORMER = new Observable.Transformer() {
@Override public Object call(Object observable) {
return ((Observable) observable).subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(Schedulers.io());
}
};
public static Observable.Transformer IO_ON_UI_TRANSFORMER = new Observable.Transformer() {
@Override public Object call(Object observable) {
return ((Observable) observable).subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
};
public static Action1<Throwable> ERROR_ACTION = new Action1<Throwable>() {
@Override public void call(Throwable throwable) {
if (null != throwable && !TextUtils.isEmpty(throwable.getMessage())) {
throwable.printStackTrace();
}
}
};
public static <T> Observable.Transformer<T, T> applySchedulers(Observable.Transformer transformer) {
//noinspection unchecked
return (Observable.Transformer<T, T>) transformer;
}
}