mirror of
https://github.com/WuXiaolong/AndroidMVPSample.git
synced 2025-06-07 13:54:04 +08:00
45 lines
1.1 KiB
Java
45 lines
1.1 KiB
Java
package com.wuxiaolong.androidmvpsample.rxjava;
|
|
|
|
import retrofit2.adapter.rxjava.HttpException;
|
|
import rx.Subscriber;
|
|
|
|
/**
|
|
* Created by Administrator
|
|
* on 2016/5/18.
|
|
*/
|
|
public class SubscriberCallBack<T> extends Subscriber<T> {
|
|
private ApiCallback<T> apiCallback;
|
|
|
|
public SubscriberCallBack(ApiCallback<T> apiCallback) {
|
|
this.apiCallback = apiCallback;
|
|
}
|
|
|
|
@Override
|
|
public void onCompleted() {
|
|
apiCallback.onCompleted();
|
|
}
|
|
|
|
@Override
|
|
public void onError(Throwable e) {
|
|
e.printStackTrace();
|
|
if (e instanceof HttpException) {
|
|
HttpException httpException = (HttpException) e;
|
|
//httpException.response().errorBody().string()
|
|
int code = httpException.code();
|
|
String msg = httpException.getMessage();
|
|
if (code == 504) {
|
|
msg = "网络不给力";
|
|
}
|
|
apiCallback.onFailure(code, msg);
|
|
} else {
|
|
apiCallback.onFailure(0, e.getMessage());
|
|
}
|
|
apiCallback.onCompleted();
|
|
}
|
|
|
|
@Override
|
|
public void onNext(T t) {
|
|
apiCallback.onSuccess(t);
|
|
}
|
|
}
|