1
0
mirror of https://github.com/WuXiaolong/AndroidMVPSample.git synced 2025-12-19 18:15:41 +08:00
This commit is contained in:
xiaomolong
2016-06-12 14:16:27 +08:00
parent 64ebcd133f
commit 436e4a9cc7
16 changed files with 303 additions and 211 deletions

View File

@@ -0,0 +1,44 @@
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);
}
}