package com.itbox.grzl.activity;
import java.util.Timer;
import java.util.TimerTask;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
import com.itbox.fx.net.GsonResponseHandler;
import com.itbox.fx.net.Net;
import com.itbox.fx.util.StringUtil;
import com.itbox.fx.util.ToastUtils;
import com.itbox.grzl.Api;
import com.zhaoliewang.grzl.R;
import com.itbox.grzl.bean.Register;
import com.itbox.grzl.engine.RegistResetEngine;
import com.loopj.android.http.RequestParams;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class RegistPhoneSecondActivity extends BaseActivity {
@InjectView(R.id.text_left)
TextView mTVTopCancel;
@InjectView(R.id.text_medium)
TextView mTVTopMedium;
@InjectView(R.id.regist_authcode_et)
EditText mETRegistAuthCode;
@InjectView(R.id.regist_next_bt)
Button mBTRegistNext;
@InjectView(R.id.regist_auth_again_tv)
TextView mTVRegistAgain;
private String registPhone;
private int seconds = 60;
private Timer timer = new Timer();
private boolean isGetAgain = false;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
setContentView(R.layout.activity_regist_phone_second);
ButterKnife.inject(mActThis);
initViews();
registPhone = getIntent().getStringExtra("registPhone");
mTVRegistAgain.setVisibility(View.VISIBLE);
MyTimerTask task = new MyTimerTask();
timer.schedule(task, 1000, 1000);
}
private void initViews() {
mTVTopCancel.setVisibility(View.VISIBLE);
mTVTopMedium.setText("手机注册");
}
@OnClick({ R.id.regist_next_bt, R.id.text_left, R.id.regist_auth_again_tv })
@Override
public void onClick(View v) {
super.onClick(v);
switch (v.getId()) {
case R.id.text_left:
RegistPhoneSecondActivity.this.finish();
break;
case R.id.regist_auth_again_tv:
if (isGetAgain) {
sendAuthCode(registPhone);
}
break;
case R.id.regist_next_bt:
String authCode = mETRegistAuthCode.getText().toString();
if (StringUtil.isBlank(authCode)) {
ToastUtils.showToast(mActThis, "验证码不为空");
} else {
RequestParams params = new RequestParams();
params.put("userphone", registPhone);
params.put("verifycode", authCode);
params.put("type", String.valueOf(1));
Net.request(params, Api.getUrl(Api.User.CheckVerifyCode),
new GsonResponseHandler<Register>(Register.class) {
@Override
public void onSuccess(Register object) {
super.onSuccess(object);
int result = object.getResult();
if (result == 0) {
ToastUtils.showToast(mActThis, "验证码错误");
} else if (result == 1) {
Intent intent = new Intent(mActThis,
RegistPhoneResultActivity.class);
intent.putExtra("registPhone", registPhone);
mActThis.startActivity(intent);
RegistPhoneSecondActivity.this.finish();
}
}
});
}
break;
default:
break;
}
}
private void sendAuthCode(final String mPhone) {
// TODO Auto-generated method stub
RegistResetEngine.sendAuthCode(mPhone, 1,
new GsonResponseHandler<Register>(Register.class) {
@Override
public void onSuccess(Register object) {
super.onSuccess(object);
int result = object.getResult();
if (result == 1) {
} else if (result == 5) {
ToastUtils.showToast(mActThis, "此号码操作频繁");
}
}
});
isGetAgain = false;
MyTimerTask task = new MyTimerTask();
timer.schedule(task, 1000, 1000);
};
private class MyTimerTask extends TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
runOnUiThread(new Runnable() {
@Override
public void run() {
seconds--;
mTVRegistAgain.setText(seconds + "s后重新获取");
if (seconds < 1) {
isGetAgain = true;
mTVRegistAgain.setText("获取验证码");
// if (timer != null) {
cancel();
seconds = 60;
// }
}
}
});
}
}
}