package com.mgw.member.ui.activity.login; import java.util.Timer; import java.util.TimerTask; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.app.Dialog; import android.content.Intent; import android.net.Uri; 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.view.Window; import android.widget.Button; import android.widget.TextView; import com.loopj.android.http.RequestParams; import com.mgw.member.R; import com.mgw.member.constant.Define_C; import com.mgw.member.uitls.MgqDataHandler; import com.mgw.member.uitls.MgqRestClient; import com.mgw.member.uitls.UIUtils; public class ForgetPasswordActivity extends Activity implements OnClickListener { Button mCodeBtn = null; int mSeconds = 120; Timer mTimer = null; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (mSeconds == 0) { mTimer.cancel(); mTimer = null; mSeconds = 120; mCodeBtn.setSelected(false); mCodeBtn.setOnClickListener(ForgetPasswordActivity.this); mCodeBtn.setText("获取验证码"); } else { mCodeBtn.setText(String.valueOf(mSeconds)); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_forget_password); mCodeBtn = (Button) findViewById(R.id.code); mCodeBtn.setSelected(true); mCodeBtn.setText(String.valueOf(mSeconds)); findViewById(R.id.login).setOnClickListener(this); ((TextView) findViewById(R.id.tv_title_cent)).setText("手机验证码找回密码"); findViewById(R.id.login).setOnClickListener(this); findViewById(R.id.bt_titlebar_left).setOnClickListener(this); findViewById(R.id.tv_login_problem).setOnClickListener(this); startTimer(); } void startTimer() { mCodeBtn.setOnClickListener(null); mCodeBtn.setSelected(true); mTimer = new Timer(); mTimer.schedule(new TimerTask() { @Override public void run() { if (mSeconds == 0) { handler.sendEmptyMessage(0); return; } mSeconds--; handler.sendEmptyMessage(0); } }, 1000, 1000); } public void showDialog() { final Dialog dialog = new Dialog(this, R.style.dialog); dialog.setContentView(R.layout.dialog_query); dialog.setCancelable(true); dialog.findViewById(R.id.call).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { dialog.dismiss(); Intent phoneIntent = new Intent("android.intent.action.CALL", Uri.parse("tel:0731-82680939")); startActivity(phoneIntent); } }); dialog.findViewById(R.id.cancel).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { dialog.dismiss(); } }); ((TextView) dialog.findViewById(R.id.tip)).setText("请使用此手机号码致电美顾问找回密码\n" + "电话: 0731-82680939\n" + "受理时间: 9:00 - 18:00"); dialog.show(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.login: getData(); break; case R.id.bt_titlebar_left: finish(); break; case R.id.code: getCode(); break; case R.id.tv_login_problem: { showDialog(); } break; } } /** * 获取验证码 */ private void getCode() { MgqDataHandler loginHandler = new MgqDataHandler(this, true, false) { @Override public void onSuccess(String response) { super.onSuccess(response); try { JSONObject obj = new JSONObject(response); Log.e("json", obj.toString()); if (obj.getInt("flag") == 0) { startTimer(); } else { // ToastUtil.showToastWithAlertPic(obj.getString("msg")); UIUtils.showToastSafe(obj.getString("msg")); } } catch (JSONException e) { e.printStackTrace(); } } @Override public void onFailure(Throwable ble) { } }; RequestParams params = new RequestParams(); params.put("type", "member.sentmsg"); params.put("tel", getIntent().getExtras().getString("tel")); MgqRestClient.get(Define_C.mgw_url, params, loginHandler); } /** * 完成 提交数据 */ private void getData() { final String code = ((TextView) findViewById(R.id.tel)).getText().toString(); final String pwd = ((TextView) findViewById(R.id.password)).getText().toString(); final String pwd0 = ((TextView) findViewById(R.id.password0)).getText().toString(); if (code.length() == 0 || pwd.length() == 0 || pwd0.length() == 0) { UIUtils.showToastSafe("请输入验证码&密码"); return; } if (!pwd.equals(pwd0)) { // ToastUtil.showToastWithAlertPic("两次密码输入不一致,请重新输入"); UIUtils.showToastSafe("两次密码输入不一致,请重新输入"); return; } MgqDataHandler loginHandler = new MgqDataHandler(this, true, false) { @Override public void onSuccess(String response) { super.onSuccess(response); try { JSONObject obj = new JSONObject(response); Log.e("json", obj.toString()); if (obj.getInt("flag") == 0) { // ToastUtil.showToastWithOkPic("密码修改成功,请登录"); UIUtils.showToastSafe("密码修改成功,请登录"); LoginActivity.mLoginTel = getIntent().getExtras().getString("tel"); finish(); } else { // ToastUtil.showToastWithAlertPic(obj.getString("msg")); UIUtils.showToastSafe(obj.getString("msg")); } } catch (JSONException e) { e.printStackTrace(); } } @Override public void onFailure(Throwable ble) { } }; RequestParams params = new RequestParams(); params.put("type", "member.resetpwd"); params.put("userid", getIntent().getExtras().getString("userid")); params.put("tel", getIntent().getExtras().getString("tel")); params.put("code", code); params.put("newpwd", pwd); params.put("snewpwd", pwd0); MgqRestClient.get(Define_C.mgw_url, params, loginHandler); } }