package com.yyquan.jzh.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Window;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import com.yyquan.jzh.R;
import com.yyquan.jzh.entity.Ip;
import com.yyquan.jzh.entity.User;
import com.yyquan.jzh.util.SaveUserUtil;
import com.yyquan.jzh.view.DialogView;
import com.yyquan.jzh.xmpp.XmppTool;
import org.json.JSONException;
import org.json.JSONObject;
import cn.pedant.SweetAlert.SweetAlertDialog;
import cz.msebera.android.httpclient.Header;
public class ChangePasswordActivity extends Activity implements View.OnClickListener {
LinearLayout ll_back;
LinearLayout ll_enter;
EditText et_yuan_password;
EditText et_new_password;
EditText et_new_password_again;
Intent intent;
String yuan_password;
String user;
String url = Ip.ip + "/YfriendService/DoGetUser";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_change_message);
DialogView.Initial(this, "正在修改密码......");
intent = getIntent();
yuan_password = intent.getStringExtra("password");
user = intent.getStringExtra("user");
ll_back = (LinearLayout) findViewById(R.id.change_password_layout_back);
ll_enter = (LinearLayout) findViewById(R.id.change_password_layout_enter);
et_yuan_password = (EditText) findViewById(R.id.change_password_editText_yuan_password);
et_new_password = (EditText) findViewById(R.id.change_password_editText_new_password);
et_new_password_again = (EditText) findViewById(R.id.change_password_editText_new_password_again);
ll_back.setOnClickListener(this);
ll_enter.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.change_password_layout_back:
finish();
break;
case R.id.change_password_layout_enter:
final String new_password = et_new_password.getText().toString();
String new_password_again = et_new_password_again.getText().toString();
if (!yuan_password.equals(et_yuan_password.getText().toString())) {
Toast.makeText(this, "原密码输入不正确", Toast.LENGTH_SHORT).show();
return;
}
if (new_password.length() < 6 || new_password_again.length() < 6) {
Toast.makeText(this, "新密码的长度不能小于6", Toast.LENGTH_SHORT).show();
return;
}
if (!new_password.equals(new_password_again)) {
Toast.makeText(this, "两次密码输入不一致", Toast.LENGTH_SHORT).show();
return;
}
DialogView.show();
ll_enter.setEnabled(false);
if (XmppTool.getInstance().changePassword(new_password)) {
RequestParams params = new RequestParams();
params.put("user", user);
params.put("password", new_password);
params.put("action", "update_password");
AsyncHttpClient client = new AsyncHttpClient();
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String str = new String(responseBody);
if (str != null) {
try {
ll_enter.setEnabled(true);
JSONObject object = new JSONObject(str);
if (object.getString("code").equals("success")) {
User user = SaveUserUtil.loadAccount(ChangePasswordActivity.this);
user.setPassword(new_password);
SaveUserUtil.saveAccount(ChangePasswordActivity.this, user);
Toast.makeText(ChangePasswordActivity.this, "密码修改成功", Toast.LENGTH_SHORT).show();
DialogView.dismiss();
finish();
} else {
Toast.makeText(ChangePasswordActivity.this, "密码修改失败,请重试", Toast.LENGTH_SHORT).show();
DialogView.dismiss();
}
} catch (JSONException e) {
e.printStackTrace();
DialogView.dismiss();
ll_enter.setEnabled(true);
}
} else {
DialogView.dismiss();
ll_enter.setEnabled(true);
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Toast.makeText(ChangePasswordActivity.this, "网络连接失败,请查看网络设置", Toast.LENGTH_SHORT).show();
ll_enter.setEnabled(true);
DialogView.dismiss();
}
});
} else {
DialogView.dismiss();
ll_enter.setEnabled(true);
Toast.makeText(ChangePasswordActivity.this, "密码修改失败,请重试。", Toast.LENGTH_SHORT).show();
}
break;
}
}
}