package com.bigdo.app;
import org.json.JSONException;
import org.json.JSONObject;
import com.bigdo.common.Login;
import com.bigdo.common.RConfig;
import com.bigdo.common.RState;
import com.bigdo.common.User;
import com.bigdo.util.Pub;
import com.bigdo.util.WSCheck;
import com.bigdo.util.WSHelper;
import com.bigdo.util.WSResult;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnDismissListener;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
public class Me_SecurityCenter_Activity extends BaseActivity {
private boolean isSubmiting = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.me_securitycenter_activity);
View activityTitle = (View) this.findViewById(R.id.bd_title_host);
TextView bd_title_name = (TextView) activityTitle
.findViewById(R.id.bd_title_name);
bd_title_name.setText("安全中心");
TextView bd_title_operate = (TextView) activityTitle
.findViewById(R.id.bd_title_operate);
bd_title_operate.setVisibility(View.INVISIBLE);
ImageButton bd_title_back = (ImageButton) activityTitle
.findViewById(R.id.bd_title_back);
bd_title_back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
Button logout_btn = (Button) findViewById(R.id.logout_btn);
logout_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (Login.clear(Me_SecurityCenter_Activity.this)) {
finish();
} else {
messageBox("退出失败");
}
}
});
Button submit_pwd = (Button) findViewById(R.id.submit_pwd);
submit_pwd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
changePwd();
}
});
}
private void changePwd() {
User user = Login.get(this);
if (user != null) {
if (!isSubmiting) {
isSubmiting = true;
EditText old_pwd = (EditText) findViewById(R.id.old_pwd);
EditText new_pwd = (EditText) findViewById(R.id.new_pwd);
EditText config_pwd = (EditText) findViewById(R.id.config_pwd);
String old_pwd_v = old_pwd.getText().toString();
String new_pwd_v = new_pwd.getText().toString();
String config_pwd_v = config_pwd.getText().toString();
if (old_pwd_v == null || old_pwd_v.equals("")) {
old_pwd.setError("原密码不能为空");
old_pwd.requestFocus();
showInfo("原密码不能为空");
isSubmiting = false;
return;
}
if (old_pwd_v.length() < 4) {
old_pwd.setError("原密码长度必需大于 4 位");
old_pwd.requestFocus();
showInfo("原密码长度必需大于 4 位");
isSubmiting = false;
return;
}
if (new_pwd_v == null || new_pwd_v.equals("")) {
new_pwd.setError("新密码不能为空");
new_pwd.requestFocus();
showInfo("新密码不能为空");
isSubmiting = false;
return;
}
if (new_pwd_v.length() < 4) {
new_pwd.setError("新密码长度必需大于 4 位");
new_pwd.requestFocus();
showInfo("新密码长度必需大于 4 位");
isSubmiting = false;
return;
}
if (new_pwd_v.equals(old_pwd_v)) {
new_pwd.setError("新旧密码不能一样");
new_pwd.requestFocus();
showInfo("新旧密码不能一样");
isSubmiting = false;
return;
}
if (!new_pwd_v.equals(config_pwd_v)) {
config_pwd.setError("两次的新密码不一样");
config_pwd.requestFocus();
showInfo("两次的新密码不一样");
isSubmiting = false;
return;
}
JSONObject jparams = new JSONObject();
try {
jparams.put("pwd", old_pwd_v);
jparams.put("newpwd", new_pwd_v);
jparams.put("user", user.user);
} catch (JSONException e) {
isSubmiting = false;
messageBox("准备重置密码信息发生错误");
return;
}
String data = jparams.toString();
String url = RConfig.changePwd(this);
showProgress("重置密码中..");
WSHelper ws = new WSHelper(this, "", false, WsHandler, url, "",
WSHelper.getStringEntity(data), 0, 0, 0, 0,
WSHelper.POST);
ws.start();
Log.e("register", url);
Log.e("register-data", data);
} else {
showInfo("重置密码中..");
}
} else {
showInfo("请登录");
}
}
@SuppressLint("HandlerLeak")
Handler WsHandler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.arg1 == RState.WSCall) {
WSResult result = (WSResult) msg.getData().getParcelable(
WSResult.ResultKey);
if (result.RequestCode == 0) {
checkRegister(result);
hiddenProgress();
isSubmiting = false;
}
}
}
};
private void checkRegister(WSResult result) {
JSONObject jresult = WSCheck.Json(this, result);
if (jresult != null) {
messageBox("重置密码成功!", new OnDismissListener() {
@Override
public void onDismiss(DialogInterface arg0) {
finish();
}
});
}
}
@Override
public void onClearData() {
// TODO Auto-generated method stub
}
@Override
public void onVideoBroadcast(Intent intent) {
// TODO Auto-generated method stub
}
}