package com.itbox.fx.net; import org.apache.http.Header; import com.itbox.fx.core.L; /** * @author hyh * creat_at:2013-7-26-上午9:10:53 */ public class ResponseHandler extends HaveCacheResponseHandler { private boolean isShowProgress; // protected LoadingDialog dialog; protected Object[] params; public ResponseHandler() { this(false); } public ResponseHandler(boolean isShowProgress) { super(); this.isShowProgress = isShowProgress; } public ResponseHandler(boolean isShowProgress,Object... params) { super(); this.isShowProgress = isShowProgress; this.params = params; } @Override public void onStart() { if(isShowProgress) showDialog(); super.onStart(); } @Override public void onFinish() { if(isShowProgress) dismissDialog(); super.onFinish(); } @Override public void onSuccess(int statusCode, Header[] headers, String content) { L.i(Net.TAG,"Response: "+content); super.onSuccess(statusCode, headers, content); } @Override public void onFailure(Throwable e, int statusCode, String content) { L.e(Net.TAG,"Error: "+e.getClass().getSimpleName()+" Code="+statusCode+" , Message="+e.getMessage()+"\nResponse:"); if(null != content){ L.w(Net.TAG,content); } switch (statusCode) { case -1: // Toast.show(R.string.warn_network_unavailable); break; case 0: // Toast.show(R.string.warn_netrequest_failure); break; // case 400: // Toast.show("400"); // break; case 401: // Toast.show("请登录!"); // UserEngine.relogin(); break; // case 406: // Toast.show("406"); // break; case 500: // Toast.show(R.string.warn_netrequest_failure); break; default: break; } } private void showDialog() { // if(null == dialog){ // dialog = LoadingDialog.getDialog(); // } // if(!dialog.isShowing()){ // dialog.show(); // } } private void dismissDialog() { // if(null != dialog && dialog.isShowing()){ // dialog.dismiss(); // } } public void setShowProgress(boolean isShowProgress){ this.isShowProgress = isShowProgress; } public boolean isShowProgress(){ return isShowProgress; } }