package net.coding.program.setting;
import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.widget.TextView;
import com.loopj.android.http.RequestParams;
import net.coding.program.LoginActivity_;
import net.coding.program.R;
import net.coding.program.common.Global;
import net.coding.program.common.SimpleSHA1;
import net.coding.program.common.ui.BackActivity;
import net.coding.program.common.umeng.UmengEvent;
import net.coding.program.common.util.ViewStyleUtil;
import net.coding.program.common.widget.LoginEditText;
import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;
import org.json.JSONException;
import org.json.JSONObject;
@EActivity(R.layout.activity_set_password)
//@OptionsMenu(R.menu.set_password)
public class SetPasswordActivity extends BackActivity {
final String Url = Global.HOST_API + "/user/updatePassword";
@ViewById
LoginEditText oldPassword, newPassword, confirmPassword;
@ViewById
TextView okButton;
@AfterViews
void initSetPasswordActivity() {
ViewStyleUtil.editTextBindButton(okButton, oldPassword, newPassword, confirmPassword);
}
@Click
void okButton() {
RequestParams params = new RequestParams();
try {
String oldPwd = oldPassword.getText().toString();
String newPwd = newPassword.getText().toString();
String confirmPwd = confirmPassword.getText().toString();
if (passwordFormatError(oldPwd, newPwd, confirmPwd)) {
return;
}
params.put("current_password", SimpleSHA1.sha1(oldPwd));
params.put("password", SimpleSHA1.sha1(newPwd));
params.put("confirm_password", SimpleSHA1.sha1(confirmPwd));
postNetwork(Url, params, "");
} catch (Exception e) {
showMiddleToast(e.toString());
}
}
boolean passwordFormatError(String oldPwd, String newPwd, String confirmPwd) {
if (TextUtils.isEmpty(oldPwd)) {
showMiddleToast("当前密码不能为空");
return true;
} else if (TextUtils.isEmpty(newPwd)) {
showMiddleToast("新密码不能为空");
return true;
} else if (TextUtils.isEmpty(confirmPwd)) {
showMiddleToast("确认密码不能为空");
return true;
} else if (!newPwd.equals(confirmPwd)) {
showMiddleToast("两次密码输入不一致");
return true;
} else if (newPwd.length() < 6) {
showMiddleToast("密码不能少于6位");
return true;
} else if (newPwd.length() > 64) {
showMiddleToast("密码不能大于64位");
return true;
}
return false;
}
@Override
public void parseJson(int code, JSONObject respanse, String tag, int pos, Object data) throws JSONException {
if (code == 0) {
umengEvent(UmengEvent.USER, "修改密码");
showButtomToast("密码修改成功");
popDialog();
} else {
showErrorMsg(code, respanse);
}
}
private void popDialog() {
new AlertDialog.Builder(this)
.setMessage("修改密码后需要重新登录")
.setNegativeButton("确定", (dialog1, which) -> {
finish();
startActivity(new Intent(SetPasswordActivity.this, LoginActivity_.class));
})
.setCancelable(false)
.show();
}
}