package com.cheng.networkframestudy.okhttp.frame.callback;
import okhttp3.Call;
import okhttp3.Request;
import okhttp3.Response;
public abstract class Callback<T> {
/**
* UI Thread
*
* @param request
*/
public void onBefore(Request request) {
}
/**
* UI Thread
*
* @param
*/
public void onAfter() {
}
/**
* UI Thread
*
* @param progress
*/
public void inProgress(float progress) {
}
/**
* Thread Pool Thread
*
* @param response
*/
public abstract T parseNetworkResponse(Response response) throws Exception;
public abstract void onError(Call call, Exception e);
public abstract void onResponse(T response);
public static Callback CALLBACK_DEFAULT = new Callback() {
@Override
public Object parseNetworkResponse(Response response) throws Exception {
return null;
}
@Override
public void onError(Call call, Exception e) {
}
@Override
public void onResponse(Object response) {
}
};
}