package com.jiuqi.njt.register;
import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean;
import com.jiuqi.mobile.nigo.comeclose.exception.LoginException;
import com.jiuqi.mobile.nigo.comeclose.manager.base.IValidationManager;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.data.MyApp;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.RepairUtils;
import android.app.Dialog;
import android.content.Context;
import android.os.AsyncTask;
/**
* 判断账号是否存在。修正登录注册流程使用
*
* @author joe
*
*/
public class VerificationAccountTask extends AsyncTask<Void, Void, UserBean> {
private Context context;
private String account;
private GetVerificationUser getVerificationUser;
private MyApp application;
private Dialog pd;
/**
* 将验证后的用户信息返回接口
* @author joe
*
*/
public interface GetVerificationUser {
public void getUserBean(UserBean result);
}
/**
* 判断账号是否存在
* @param context
* @param account
* 账号
* @param getVerificationUser
* 返回验证结果的接口
*/
public VerificationAccountTask(Context context, String account,
GetVerificationUser getVerificationUser) {
super();
this.context = context;
this.account = account;
this.getVerificationUser = getVerificationUser;
application = (MyApp) context.getApplicationContext();
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
pd = RepairUtils.myShowDialog(context, 3);
super.onPreExecute();
}
@Override
protected UserBean doInBackground(Void... params) {
// TODO Auto-generated method stub
ClientContext context;
try {
context = application.getClientContext();
if (null == context) {
context = ClientContext.getClientContext(Constants.SERVER_URL,
Constants.ANONYMOUS, Constants.ANONYMOUS);
application.setClientContext(context);
}
IValidationManager manager = context
.getManager(IValidationManager.class);
return manager.accountIsOrNotExist(account);
} catch (LoginException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(UserBean result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
RepairUtils.myRemoveDialog(pd);
getVerificationUser.getUserBean(result);
}
}