|
package com.electric.chargingpile.activity;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.electric.chargingpile.R;
import com.electric.chargingpile.application.MainApplication;
import com.electric.chargingpile.manager.ProfileManager;
import com.electric.chargingpile.util.ActivityManagerApplication;
import com.electric.chargingpile.util.BarColorUtil;
import com.electric.chargingpile.util.DES3;
import com.electric.chargingpile.util.JsonUtils;
import com.electric.chargingpile.util.LoadingDialog;
import com.electric.chargingpile.util.ToastUtil;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;
import java.net.URLEncoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import okhttp3.Call;
public class AlterPasswordActivity extends Activity implements View.OnClickListener {
private TextView tv_submit;
private EditText et_new_password, et_confirm_password;
private ImageView iv_back;
private String old_password;
LoadingDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alter_password);
BarColorUtil.initStatusBarColor(AlterPasswordActivity.this);
initViews();
initData();
}
private void initViews() {
dialog = new LoadingDialog(this);
dialog.setCanceledOnTouchOutside(false);
tv_submit = (TextView) findViewById(R.id.tv_submit);
tv_submit.setEnabled(false);
tv_submit.setClickable(false);
et_new_password = (EditText) findViewById(R.id.et_new_password);
et_confirm_password = (EditText) findViewById(R.id.et_confirm_password);
et_confirm_password.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (!s.toString().equals("") && !et_new_password.getText().toString().equals("")) {
tv_submit.setTextColor(getResources().getColor(R.color.lvse));
tv_submit.setClickable(true);
tv_submit.setEnabled(true);
} else {
tv_submit.setTextColor(getResources().getColor(R.color.ui_68));
tv_submit.setClickable(false);
tv_submit.setEnabled(false);
}
}
});
tv_submit.setOnClickListener(this);
iv_back = (ImageView) findViewById(R.id.iv_back);
iv_back.setOnClickListener(this);
}
private void initData() {
old_password = getIntent().getStringExtra("old_password");
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.iv_back:
finish();
break;
case R.id.tv_submit:
String new_password = et_new_password.getText().toString();
String confirm_password = et_confirm_password.getText().toString();
if (!validatPassword(new_password)) {
ToastUtil.showToast(getApplicationContext(), "密码格式为字母或数字,请检查您输入的内容", Toast.LENGTH_SHORT);
return;
}
if (new_password.equals(confirm_password)) {
submitPassword(confirm_password);
} else {
Toast.makeText(getApplicationContext(), "两次密码输入不一致", Toast.LENGTH_SHORT).show();
}
break;
}
}
private boolean validatPassword(String s) {
String strRegex = "^[A-Za-z0-9]+$";
Pattern pattern = Pattern.compile(strRegex);
Matcher matcher = pattern.matcher(s);
return matcher.find();
}
private void submitPassword(final String password) {
dialog.show();
long appTime1 = System.currentTimeMillis() / 1000;
long updatetime = appTime1 - MainMapActivity.cha - 3;
String token = "";
try {
token = DES3.encode(String.valueOf(updatetime));
} catch (Exception e) {
e.printStackTrace();
}
String url = MainApplication.url + "/zhannew/basic/web/index.php/tpmember/modify?phone=" + MainApplication.userPhone
+ "&oldpassword=" + URLEncoder.encode(old_password) + "&password=" + URLEncoder.encode(password) + "&token=" + URLEncoder.encode(token);
Log.d("url====", url);
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
}
@Override
public void onResponse(String response) {
dialog.cancel();
String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
if (rtnCode.equals("00")) {
// MainApplication.userPassword = password;
// ProfileManager.getInstance().setKeyUserpassword(getApplicationContext(),password);
Toast.makeText(getApplicationContext(), "密码修改成功", Toast.LENGTH_SHORT).show();
// ActivityManagerApplication.addDestoryActivity(AlterPasswordActivity.this,"AlterPasswordActivity");
ProfileManager.getInstance()
.setUsername(AlterPasswordActivity.this, "");
ProfileManager.getInstance().setId(
AlterPasswordActivity.this, "");
ProfileManager.getInstance().setYuyue(
AlterPasswordActivity.this, "");
ProfileManager.getInstance().setKeyUserpassword(AlterPasswordActivity.this, "");
SharedPreferences mySharedPreferences = getSharedPreferences("userInfo",
Activity.MODE_PRIVATE);
mySharedPreferences.edit().clear();
MainApplication.userPhone = "";
MainApplication.userId = "";
MainApplication.userIcon = "";
MainApplication.userNickname = "";
MainApplication.userPassword = "";
SharedPreferences sharedPreferences = getSharedPreferences("userInfo",
Activity.MODE_PRIVATE);
sharedPreferences.edit().clear();
SharedPreferences sharedPreferences1 = getSharedPreferences("userClaimData",
Activity.MODE_PRIVATE);
sharedPreferences1.edit().clear();
Intent intent = new Intent(AlterPasswordActivity.this, LoginActivity.class);
startActivity(intent);
ActivityManagerApplication.destoryActivity("UserCenterMoreActivity");
finish();
} else {
Toast.makeText(getApplicationContext(), "密码修改失败", Toast.LENGTH_SHORT).show();
}
}
});
}
}
|