package com.pcs.learn.Base;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Handler;
import android.widget.Toast;
import learn.driver.Msg;
/**
* Created by chaosi on 2015/9/6.
*/
public abstract class ServerTask extends AsyncTask<Object, Integer, Msg>{
public Context context;
public boolean isStop;
public boolean timeout;
public ServerTask(final Context context){
this.context=context;
((BaseActivity)context).waitingDialogShow();
isStop=false;
timeout=false;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if(!isStop){
isStop=true;
timeout=true;
((BaseActivity)context).waitingDialogDismiss();
toast("加载超时!");
}
}
},10000);
}
@Override
protected abstract Msg doInBackground(Object... params);
@Override
protected void onPostExecute(Msg msg) {
super.onPostExecute(msg);
isStop=true;
((BaseActivity)context).waitingDialogDismiss();
if(!timeout){
switch (msg.getCode()){
case 11201:
toast("不存在该用户,请检查用户名!");
break;
case 11202:
toast("密码不正确,请重新输入密码!");
break;
case 11203:
toast("邮箱未验证,请先验证邮箱!");
break;
case 11204:
toast("网络错误,请检查网络再试");
break;
case 10000:
toast("网络错误,请检查网络后再试");
break;
case 10001:
toast("数据格式不正确!");
break;
case 12201:
toast("邮箱格式不正确");
break;
case 12202:
toast("该用户名已注册,请换用其他用户名");
break;
case 12203:
toast("该邮箱已注册!");
break;
case 12204:
toast("服务器内部错误,注册失败");
break;
case 12205:
toast("注册失败,未知错误");
break;
}
}
}
public void toast(String text){
Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
}
}