Files
HouseProperty/app/src/main/java/com/sl/house_property/RegisterActivity.java

298 lines
10 KiB
Java
Raw Normal View History

2020-08-03 09:11:54 +08:00
package com.sl.house_property;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import com.cutil.RegexUtils;
2020-09-17 17:21:32 +08:00
import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
import com.lxj.xpopup.XPopup;
2020-08-03 09:11:54 +08:00
import com.sl.house_property.databinding.ActivityRegisterBinding;
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
2020-09-17 17:21:32 +08:00
import entity.RegisterUser;
import http.ApiConfig;
2020-08-03 09:11:54 +08:00
import my_loader.Loader;
import my_loader.Resultcode;
import rx.Subscription;
import rx.functions.Action1;
import utils.Md5;
public class RegisterActivity extends BaseActivity<ActivityRegisterBinding> implements View.OnClickListener {
int recLen = 60;//获取验证,倒计时
private ProgressDialog progressDialog;
private Loader mGankLoader;
@Override
protected int getLayoutResId() {
return R.layout.activity_register;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
2020-09-17 17:21:32 +08:00
progressDialog = new ProgressDialog(RegisterActivity.this);
2020-08-03 09:11:54 +08:00
setAbr(getString(R.string.register), new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
2020-09-17 17:21:32 +08:00
}, 0, null, 0, null, 0, null, "");
2020-08-03 09:11:54 +08:00
mDataBinding.getcode.setOnClickListener(this);
mDataBinding.register.setOnClickListener(this);
2021-05-08 11:08:38 +08:00
// BindHouseDialog bindHouseDialog = new BindHouseDialog(RegisterActivity.this);
// bindHouseDialog.setUserId("1");
// bindHouseDialog.setOnBindHouseListener(new BindHouseDialog.OnBindHouseListener() {
// @Override
// public void onSubmit() {
//
// setToast("提交成功");
// finish();
// }
// });
// new XPopup.Builder(RegisterActivity.this).asCustom(bindHouseDialog).show();
2020-08-03 09:11:54 +08:00
}
@Override
public void onClick(View view) {
2020-09-17 17:21:32 +08:00
switch (view.getId()) {
2020-08-03 09:11:54 +08:00
2020-09-17 17:21:32 +08:00
case R.id.getcode:
if (mDataBinding.registerphone.getText().toString().length() < 1) {
2020-08-03 09:11:54 +08:00
setToast(getString(R.string.me_input_phone_tip));
return;
}
2020-09-17 17:21:32 +08:00
if (!RegexUtils.isMobileExact(mDataBinding.registerphone.getText().toString())) {
2020-08-03 09:11:54 +08:00
setToast(getString(R.string.me_input_phone_error_tip));
return;
}
getMesgCode(R.id.getcode);
break;
2020-09-17 17:21:32 +08:00
case R.id.register:
if (mDataBinding.registerphone.getText().toString().length() == 0) {
2020-08-03 09:11:54 +08:00
setToast(getString(R.string.me_input_phone_tip));
return;
}
2020-09-17 17:21:32 +08:00
if (!RegexUtils.isMobileExact(mDataBinding.registerphone.getText().toString())) {
2020-08-03 09:11:54 +08:00
setToast(getString(R.string.me_input_phone_error_tip));
return;
}
2020-09-17 17:21:32 +08:00
if (mDataBinding.logincode.getText().toString().length() < 1) {
2020-08-03 09:11:54 +08:00
setToast(getString(R.string.me_input_verification_tip));
return;
}
2020-09-17 17:21:32 +08:00
String password = mDataBinding.editpaw.getText().toString();
if (password.length() < 1) {
2020-08-03 09:11:54 +08:00
setToast(getString(R.string.me_input_password_tip));
return;
}
// if(password.length()<6){
// showToast(getString(R.string.me_input_password_short_tip));
//
// return;
// }
2020-09-17 17:21:32 +08:00
if (!tools.RegexUtils.checkPassword(password)) {
2020-08-03 09:11:54 +08:00
setToast(getString(R.string.me_input_password_fail_tip));
return;
}
String againPassword = mDataBinding.editagainpaw.getText().toString().trim();
2020-09-17 17:21:32 +08:00
if (againPassword.length() < 1) {
2020-08-03 09:11:54 +08:00
setToast(getString(R.string.me_input_again_password_tip));
return;
}
2020-09-17 17:21:32 +08:00
if (!mDataBinding.editpaw.getText().toString().trim().equals(mDataBinding.editagainpaw.getText().toString().trim())) {
2020-08-03 09:11:54 +08:00
setToast(getString(R.string.me_password_Inconsistent_tip));
return;
}
2020-09-17 17:21:32 +08:00
if (!mDataBinding.agreewhitemeg.isChecked()) {
2020-08-03 09:11:54 +08:00
setToast("请先同意注册协议");
return;
}
2021-04-02 18:24:51 +08:00
if (!mDataBinding.agreewhitemegy.isChecked()) {
setToast("请先同意隐私政策");
return;
}
2020-08-03 09:11:54 +08:00
register(view.getId());
break;
}
}
private void register(int id) {
2020-09-17 17:21:32 +08:00
Map<String, String> map = new HashMap<>();
map.put("phone", mDataBinding.registerphone.getText().toString().trim());
map.put("password", mDataBinding.editpaw.getText().toString().trim());
map.put("code", mDataBinding.logincode.getText().toString().trim());
map.put("sign", Md5.md5("Cas" + "UserReg" + Md5.secret));
2020-08-03 09:11:54 +08:00
map.put("app", "Cas");
map.put("class", "UserReg");
2020-09-17 17:21:32 +08:00
getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.registering), id);
2020-08-03 09:11:54 +08:00
}
private void getMesgCode(int id) {//获取验证码
// TODO Auto-generated method stub
recLen = 60;
/* getRegisterCode.setTextColor(getResources().getColor(R.color.regitergrey));*/
mDataBinding.getcode.setClickable(false);
2020-09-17 17:21:32 +08:00
Map<String, String> map = new HashMap<>();
map.put("sendto", mDataBinding.registerphone.getText().toString().trim());
map.put("action", "register");
map.put("sign", Md5.md5("Cas" + "SendCode" + Md5.secret));
2020-08-03 09:11:54 +08:00
map.put("app", "Cas");
map.put("class", "SendCode");
2020-09-17 17:21:32 +08:00
getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.getthecodenow), id);
2020-08-03 09:11:54 +08:00
// map = new HashMap<String, Object>();
// map.put("telephone", editPhoneNo.getText().toString().trim());
// getAsyTask(1, map, HttpUrl.registerUser(), "正在获取验证码", HttpNet.PROGRESSVISIBLE, HttpNet.POSTTYPE);//联网
}
private void getGankList(final String myurl, Map<String, String> map, String string, final int getcode1) {
progressDialog.setMessage(string);
//map.put("")
progressDialog.setCancelable(false);
progressDialog.show();
mDataBinding.getRoot().postDelayed(new Runnable() {
@Override
public void run() {
progressDialog.dismiss();
//setToast(1, getString(R.string.timeout));
}
2020-09-17 17:21:32 +08:00
}, 13000);
mGankLoader = new Loader();
2020-08-03 09:11:54 +08:00
/* Map<String,String> map=new HashMap<String,String>();
map.put("phone");*/
2020-09-17 17:21:32 +08:00
Subscription subscription = mGankLoader.getMovie(myurl, map).subscribe(new Action1<Resultcode>() {
2020-08-03 09:11:54 +08:00
@Override
public void call(Resultcode resultcode) {
progressDialog.dismiss();
//setToast(0,resultcode.status);
2020-09-17 17:21:32 +08:00
if ((!(resultcode.status == 0))) {
setToast(resultcode.msg);
2020-08-03 09:11:54 +08:00
mDataBinding.getcode.setClickable(true);
return;
}
switch (getcode1) {
2020-09-17 17:21:32 +08:00
case R.id.getcode:
setToast(getString(R.string.megissucess));
startTimer();
2020-08-03 09:11:54 +08:00
break;
case R.id.register:
2020-09-17 17:21:32 +08:00
setToast(getString(R.string.registersucess));
Gson gs = new Gson();
LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
String s = gs.toJson(adta);
RegisterUser user = gs.fromJson(s, RegisterUser.class);//把JSON字符串转为对象
BindHouseDialog bindHouseDialog = new BindHouseDialog(RegisterActivity.this);
bindHouseDialog.setUserId(user.getUserid());
bindHouseDialog.setOnBindHouseListener(new BindHouseDialog.OnBindHouseListener() {
2020-08-03 09:11:54 +08:00
@Override
2020-09-17 17:21:32 +08:00
public void onSubmit() {
setToast("提交成功");
2020-08-03 09:11:54 +08:00
finish();
}
2020-09-17 17:21:32 +08:00
});
new XPopup.Builder(RegisterActivity.this).asCustom(bindHouseDialog).show();
2020-08-03 09:11:54 +08:00
break;
}
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
progressDialog.dismiss();
mDataBinding.getcode.setClickable(true);
setToast(getString(R.string.getdatafailure));
throwable.printStackTrace();
}
});
addSubscription(subscription);
}
2020-09-17 17:21:32 +08:00
private void startTimer() {
2020-08-03 09:11:54 +08:00
final Timer timer = new Timer();
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
mDataBinding.getcode.setText(recLen + "");
if (recLen < 0) {
timer.cancel();
mDataBinding.getcode.setText("重新获取");
mDataBinding.getcode.setClickable(true);
}
}
};
TimerTask task = new TimerTask() {
@Override
public void run() {
recLen--;
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
};
timer.schedule(task, 1000, 1000);
}
/**
* 用户协议
2020-09-17 17:21:32 +08:00
*
2020-08-03 09:11:54 +08:00
* @param v v
*/
2020-09-17 17:21:32 +08:00
public void agreementEvent(View v) {
2021-04-02 18:24:51 +08:00
// Intent intent = new Intent(this, RegisterAgreementActivity.class);
// startActivity(intent);
WebActivitytwo.runActivity(this, "", "https://wy.dou1.net/articlemobile/index/detail?article_id=1");
}
/**
* 隐私政策
*
* @param v v
*/
public void yinagreementEvent(View v) {
WebActivitytwo.runActivity(this, "", "https://wy.dou1.net/articlemobile/index/detail?article_id=19");
2020-08-03 09:11:54 +08:00
}
}