Каждый запрос на сервер может возвращать error_code
. Я хочу обработать эту ошибку в одном месте
когда я использовал AsyncTask, у меня был такой же BaseAsyncTask
public abstract class BaseAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result> {
protected Context context;
private ProgressDialog progressDialog;
private Result result;
protected BaseAsyncTask(Context context, ProgressDialog progressDialog) {
this.context = context;
this.progressDialog = progressDialog;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(Result result) {
super.onPostExecute(result);
HttpResponse<ErrorResponse> response = (HttpResponse<ErrorResponse>) result;
if(response.getData().getErrorCode() != -1) {
handleErrors(response.getData());
}else
onResult(result);
}
private void handleErrors(ErrorResponse errorResponse) {
}
public abstract void onResult(Result result);
}
Но, используя модификацию, каждый запрос имеет обратный вызов обработки ошибок:
git.getFeed(user,new Callback<gitmodel>() {
@Override
public void success(gitmodel gitmodel, Response response) {
}
@Override
public void failure(RetrofitError error) {
}
});
}
});
Как я могу обрабатывать все ошибки в одном месте?