package com.ody.library.subscribe;
import io.reactivex.subscribers.ResourceSubscriber;
/**
* 用于在Http请求开始时,自动显示一个ProgressDialog
* 在Http请求结束是,关闭ProgressDialog
* 调用者自己对请求数据进行处理
* Created by 孙华辉 on 16/3/10.
*/
public class HttpSubscriber<T> extends ResourceSubscriber<T> {
private HttpCallback mSubscriberListener;
public HttpSubscriber(HttpCallback mSubscriberListener) {
this.mSubscriberListener = mSubscriberListener;
}
/**
* 订阅开始时调用
* 显示ProgressDialog
*/
@Override
public void onStart() {
//showProgressDialog();
}
/**
* 对错误进行统一处理
* 隐藏ProgressDialog
*
* @param e
*/
@Override
public void onError(Throwable e) {
if (mSubscriberListener != null) {
mSubscriberListener.onError(e != null ? e.getMessage() : "程序开小差了!!");
}
}
@Override
public void onComplete() {
if (mSubscriberListener != null) {
mSubscriberListener.onCompleted();
}
}
/**
* 将onNext方法中的返回结果交给Activity或Fragment自己处理
*
* @param t 创建Subscriber时的泛型类型
*/
@Override
public void onNext(T t) {
if (mSubscriberListener != null) {
mSubscriberListener.onNext(t);
}
}
}