diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c11490658..c233d9945 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -525,11 +525,6 @@ android:scheme="http" /> - - - + - - acts = new ArrayList<>(); - acts.add(LoginActivity.class); acts.add(LoginPhoneActivity.class); acts.add(LoginCodeActivity.class); - acts.add(ForgetPswActivity.class); - acts.add(RegisterActivity.class); + acts.add(ResetPasswordActivity.class); acts.add(AddUserInfoActivity.class); acts.add(MiddleActivity.class); acts.add(NimMiddleActivity.class); - acts.add(ErbanQQMemberBindAndLoginActivity.class); - for (Class act : acts) { if (this.getClass().isInstance(act)) { diff --git a/app/src/main/java/com/yizhuan/erban/location/LocationManager.java b/app/src/main/java/com/yizhuan/erban/location/LocationManager.java index cc407e790..b92bdf8d9 100644 --- a/app/src/main/java/com/yizhuan/erban/location/LocationManager.java +++ b/app/src/main/java/com/yizhuan/erban/location/LocationManager.java @@ -4,7 +4,6 @@ import android.content.Context; import com.yizhuan.erban.guide.GuideActivity; import com.yizhuan.erban.other.activity.SplashActivity; -import com.yizhuan.erban.ui.login.LoginActivity; import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils; import com.yizhuan.xchat_android_library.utils.UIUtils; @@ -19,7 +18,6 @@ public class LocationManager { public static void uploadLocation(Context context) { if (UIUtils.isTopActivity(context, SplashActivity.class.getName()) - || UIUtils.isTopActivity(context, LoginActivity.class.getName()) || UIUtils.isTopActivity(context, GuideActivity.class.getName())) { return; } diff --git a/app/src/main/java/com/yizhuan/erban/radish/signin/SignDialogTimeManager.java b/app/src/main/java/com/yizhuan/erban/radish/signin/SignDialogTimeManager.java index 10b35b213..52067db7e 100644 --- a/app/src/main/java/com/yizhuan/erban/radish/signin/SignDialogTimeManager.java +++ b/app/src/main/java/com/yizhuan/erban/radish/signin/SignDialogTimeManager.java @@ -9,7 +9,6 @@ import com.yizhuan.erban.guide.GuideActivity; import com.yizhuan.erban.other.activity.SplashActivity; import com.yizhuan.erban.radish.signin.view.SignInDialog; import com.yizhuan.erban.ui.login.AddUserInfoActivity; -import com.yizhuan.erban.ui.login.LoginActivity; import com.yizhuan.xchat_android_core.auth.AuthModel; import com.yizhuan.xchat_android_core.radish.signin.SignInModel; import com.yizhuan.xchat_android_core.radish.signin.bean.SignDetailInfo; @@ -37,7 +36,6 @@ public class SignDialogTimeManager { } //闪屏页,登录页,引导页,完善资料页不弹 if (UIUtils.isTopActivity(context, SplashActivity.class.getName()) - || UIUtils.isTopActivity(context, LoginActivity.class.getName()) || UIUtils.isTopActivity(context, GuideActivity.class.getName())) { return; } diff --git a/app/src/main/java/com/yizhuan/erban/ui/login/CodeDownDescTimer.java b/app/src/main/java/com/yizhuan/erban/ui/login/CodeDownDescTimer.java index 26b0f5f10..7c5628eb0 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/login/CodeDownDescTimer.java +++ b/app/src/main/java/com/yizhuan/erban/ui/login/CodeDownDescTimer.java @@ -1,6 +1,7 @@ package com.yizhuan.erban.ui.login; import android.os.CountDownTimer; +import android.text.Html; import android.view.View; import android.widget.TextView; diff --git a/app/src/main/java/com/yizhuan/erban/ui/login/ErbanQQMemberBindAndLoginActivity.java b/app/src/main/java/com/yizhuan/erban/ui/login/ErbanQQMemberBindAndLoginActivity.java deleted file mode 100644 index f2c21b7f0..000000000 --- a/app/src/main/java/com/yizhuan/erban/ui/login/ErbanQQMemberBindAndLoginActivity.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.yizhuan.erban.ui.login; - -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import androidx.annotation.NonNull; -import androidx.core.content.ContextCompat; -import android.text.Editable; -import android.text.Spannable; -import android.text.SpannableString; -import android.text.Spanned; -import android.text.TextWatcher; -import android.text.method.LinkMovementMethod; -import android.text.style.ClickableSpan; -import android.text.style.ForegroundColorSpan; -import android.view.View; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseBindingActivity; -import com.yizhuan.erban.databinding.ActivityErbanQqBindLoginBinding; -import com.yizhuan.erban.ui.webview.CommonWebViewActivity; -import com.yizhuan.xchat_android_constants.XChatConstants; -import com.yizhuan.xchat_android_core.UriProvider; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.auth.exception.BanAccountException; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_library.annatation.ActLayoutRes; -import com.yizhuan.xchat_android_library.utils.TextWatcherWrapper; - -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; - -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; - -@ActLayoutRes(R.layout.activity_erban_qq_bind_login) -public class ErbanQQMemberBindAndLoginActivity extends BaseBindingActivity { - - public static final String KEY_OPEN_ID = "key_open_id"; - - private String errorStr; - private String openid; - private AccountValidator accountValidator = new AccountValidator(); - private PasswordValidator passwordValidator = new PasswordValidator(); - private TextWatcher textWatcher = new TextWatcherWrapper() { - @Override - public void afterTextChanged(Editable s) { - checkInput(); - } - }; - - private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日", Locale.getDefault()); - - public static void start(Context context, String openid) { - Intent intent = new Intent(context, ErbanQQMemberBindAndLoginActivity.class); - intent.putExtra(KEY_OPEN_ID, openid); - context.startActivity(intent); - } - - @Override - protected void init() { - mBinding.setClick(this); - if (getIntent() != null) { - this.openid = getIntent().getStringExtra(KEY_OPEN_ID); - } - mBinding.etAccount.addTextChangedListener(textWatcher); - mBinding.etPassword.addTextChangedListener(textWatcher); - - String howToSetPwdTip = "如何设置密码?"; - String howToSetPwdDescTip = context.getString(R.string.text_how_to_set_pwd, howToSetPwdTip); - SpannableString ss = new SpannableString(howToSetPwdDescTip); - int userAgreementTipIndex = howToSetPwdDescTip.indexOf(howToSetPwdTip); - ss.setSpan(new ClickableSpan() { - @Override - public void onClick(@NonNull View view) { - CommonWebViewActivity.start(context, UriProvider.JAVA_WEB_URL + XChatConstants.LOGIN_ERBAN_ACCOUNT_URL); - } - }, userAgreementTipIndex, userAgreementTipIndex + howToSetPwdTip.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); - ss.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.design_color)), - userAgreementTipIndex, userAgreementTipIndex + howToSetPwdTip.length(), - Spanned.SPAN_INCLUSIVE_EXCLUSIVE); - mBinding.tvLoginHint.setText(ss); - mBinding.tvLoginHint.setMovementMethod(new LinkMovementMethod()); - } - - @Override - public void onClick(View v) { - super.onClick(v); - switch (v.getId()) { - case R.id.btn_login: - final String account = mBinding.etAccount.getText().toString().toLowerCase(); - final String password = mBinding.etPassword.getText().toString(); - if (isOK(account, password)) { - - showDialog("正在登录...", true, dialog -> { - }); - - AuthModel.get().loginForOldMember( - account, - password, - openid - ) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(String s) { - getDialogManager().dismissDialog(); - finish(); - } - - @Override - public void onError(Throwable e) { - getDialogManager().dismissDialog(); - dealWithLoginError(e); - } - }); - - - } else { - toast(errorStr); - } - StatisticManager.Instance().onEvent(this, - StatisticsProtocol.Event.EVENT_LOGIN_PHONE_CLICK, "点击手机号登录", null); - break; - } - } - - private void dealWithLoginError(Throwable e) { - if (e instanceof BanAccountException) { - BanAccountException exception = (BanAccountException) e; - String text = "您的账号因" + exception.getMessage() + "被封禁\n解封时间:"; - int start = text.length(); - text += simpleDateFormat.format(new Date(exception.getDate())); - SpannableString spannableString = new SpannableString(text); - spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(ErbanQQMemberBindAndLoginActivity.this, R.color.appColor)), - start, text.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE); - getDialogManager().showOkCancelWithTitleDialog("您被封号了", - spannableString, "确定", "取消", null); - } else { - toast(e.getMessage()); - } - } - - private void showDialog(String tip, boolean cancelable, DialogInterface.OnDismissListener listener) { - getDialogManager().showProgressDialog(ErbanQQMemberBindAndLoginActivity.this, tip, cancelable, cancelable, listener); - } - - private boolean isOK(String account, String password) { - if (!accountValidator.isValid(account)) { - errorStr = accountValidator.getErrorMessage(); - return false; - } - if (!passwordValidator.isValid(password)) { - errorStr = passwordValidator.getErrorMessage(); - return false; - } - return true; - } - - private void checkInput() { - if (accountValidator.isValid(mBinding.etAccount.getText().toString()) - && passwordValidator.isValid(mBinding.etPassword.getText().toString())) { - mBinding.btnLogin.setEnabled(true); - } else { - mBinding.btnLogin.setEnabled(false); - } - } -} diff --git a/app/src/main/java/com/yizhuan/erban/ui/login/ForgetPswActivity.java b/app/src/main/java/com/yizhuan/erban/ui/login/ForgetPswActivity.java deleted file mode 100644 index 808759e02..000000000 --- a/app/src/main/java/com/yizhuan/erban/ui/login/ForgetPswActivity.java +++ /dev/null @@ -1,172 +0,0 @@ -package com.yizhuan.erban.ui.login; - -import android.os.Bundle; -import android.text.TextUtils; -import android.view.View; -import android.widget.Button; -import android.widget.EditText; - -import com.trello.rxlifecycle3.android.ActivityEvent; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseActivity; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.code.CodeModel; -import com.yizhuan.xchat_android_core.code.CodeType; -import com.yizhuan.xchat_android_core.user.UserModel; - -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; - -/** - * Created by zhouxiangfeng on 17/3/5. - */ -public class ForgetPswActivity extends BaseActivity implements View.OnClickListener { - private static final String TAG = "RegisterActivity"; - private EditText phoneEt; - private Button getCodeBtn; - private EditText pswEt; - private EditText codeEt; - private Button btnModify; - private CodeDownTimer timer; - private AccountValidator accountValidator = new AccountValidator(); - private PasswordValidator passwordValidator = new PasswordValidator(); - private SMSCodeValidator smsCodeValidator = new SMSCodeValidator(); - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_forget_psw); - onFindViews(); - onSetListener(); - initTitleBar(""); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - stopCountDownTimer(); - } - - public void onFindViews() { - phoneEt = findViewById(R.id.et_phone); - pswEt = findViewById(R.id.et_password); - codeEt = findViewById(R.id.et_code); - getCodeBtn = findViewById(R.id.btn_get_code); - - if (UserModel.get().getCacheLoginUserInfo() != null && !TextUtils.isEmpty(UserModel.get().getCacheLoginUserInfo().getPhone())) { - phoneEt.setText(UserModel.get().getCacheLoginUserInfo().getPhone()); - phoneEt.clearFocus(); - phoneEt.setFocusable(false); - phoneEt.setFocusableInTouchMode(false); - } - - btnModify = (Button) findViewById(R.id.btn_modify); - btnModify.setEnabled(true); - } - - public void onSetListener() { - btnModify.setOnClickListener(this); - getCodeBtn.setOnClickListener(this); - } - - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.btn_modify: - if (!accountValidator.isValidToRegister(phoneEt.getText().toString())) { - toast(accountValidator.getErrorMessage()); - return; - } - String phone = phoneEt.getText().toString(); - - if (!passwordValidator.isValid(pswEt.getText().toString())) { - toast(passwordValidator.getErrorMessage()); - return; - } - String psw = pswEt.getText().toString(); - - if (!smsCodeValidator.isValid(codeEt.getText().toString())) { - toast(smsCodeValidator.getErrorMessage()); - return; - } - String sms_code = codeEt.getText().toString(); - - AuthModel.get().requestResetPsw(phone, sms_code, psw) - .compose(bindUntilEvent(ActivityEvent.DESTROY)) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(String s) { - toast("重置密码成功!"); - finish(); - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - } - }); - - break; - case R.id.btn_get_code: - if (!accountValidator.isValidToRegister(phoneEt.getText().toString())) { - toast(accountValidator.getErrorMessage()); - return; - } - phone = phoneEt.getText().toString(); - - CodeModel.get().sendCode(phone, CodeType.RESET_PSW) - .compose(bindToLifecycle()) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(String s) { - toast(s); - startCountDownTimer(); - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - } - }); - - break; - case R.id.iv_back: - finish(); - break; - } - } - - private void startCountDownTimer() { - stopCountDownTimer(); - timer = new CodeDownTimer(getCodeBtn, 60000, 1000); - timer.start(); - } - - private void stopCountDownTimer() { - if (timer != null) { - timer.cancel(); - timer = null; - } - } - - @Override - protected boolean needSteepStateBar() { - return true; - } - - @Override - protected void setStatusBar() { -// super.setStatusBar(); - StatusBarLightModes(true); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/ui/login/LoginActivity.java b/app/src/main/java/com/yizhuan/erban/ui/login/LoginActivity.java deleted file mode 100644 index 4eabb0a65..000000000 --- a/app/src/main/java/com/yizhuan/erban/ui/login/LoginActivity.java +++ /dev/null @@ -1,401 +0,0 @@ -package com.yizhuan.erban.ui.login; - -import android.annotation.SuppressLint; -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; - -import androidx.core.content.ContextCompat; - -import android.text.Editable; -import android.text.Spannable; -import android.text.SpannableString; -import android.text.TextUtils; -import android.text.TextWatcher; -import android.text.style.ForegroundColorSpan; -import android.view.MotionEvent; -import android.view.View; -import android.widget.Button; -import android.widget.EditText; - -import com.ishumei.smantifraud.SmAntiFraud; -import com.netease.mobsec.rjsb.watchman; -import com.orhanobut.logger.Logger; -import com.trello.rxlifecycle3.android.ActivityEvent; -import com.yizhuan.erban.R; -import com.yizhuan.erban.UIHelper; -import com.yizhuan.erban.base.BaseLoginAct; -import com.yizhuan.erban.ui.webview.CommonWebViewActivity; -import com.yizhuan.erban.utils.KeyBoardUtils; -import com.yizhuan.xchat_android_constants.XChatConstants; -import com.yizhuan.xchat_android_core.UriProvider; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.auth.event.LoginEvent; -import com.yizhuan.xchat_android_core.auth.exception.BanAccountException; -import com.yizhuan.xchat_android_core.auth.exception.IsSuperAdminException; -import com.yizhuan.xchat_android_core.auth.exception.ShowPhoneCodeException; -import com.yizhuan.xchat_android_core.code.CodeModel; -import com.yizhuan.xchat_android_core.code.CodeType; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_library.utils.DeviceUuidFactory; -import com.yizhuan.xchat_android_library.utils.TextWatcherWrapper; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; - -import io.reactivex.SingleObserver; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.Disposable; - -/** - * @author zhouxiangfeng - * @date 17/2/26 - * @Deprecated use {@link com.yizhuan.erban.quick_pass.QuickPassLoginAct } - */ -@Deprecated -public class LoginActivity extends BaseLoginAct implements View.OnClickListener { - - private static final String TAG = "LoginActivity"; - - private EditText accountEt; - private EditText passwordEt; - private Button btnLogin; - private EditText codeEditText; - private Button getCodeButton; - - private AccountValidator accountValidator = new AccountValidator(); - private SMSCodeValidator smsCodeValidator = new SMSCodeValidator(); - private CodeDownTimer timer; - private TextWatcher textWatcher = new TextWatcherWrapper() { - @Override - public void afterTextChanged(Editable s) { - checkInput(); - } - }; - private boolean isSuperAdmin = false; - - public static void start(Context context) { - Intent intent = new Intent(context, LoginActivity.class); - context.startActivity(intent); - } - - public static void startForResult(Activity context, int requestCode) { - Intent intent = new Intent(context, LoginActivity.class); - context.startActivityForResult(intent, requestCode); // startActivityForResult会导致singletop,singletask失效 - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_login); - initTitleBar(""); - onFindViews(); - onSetListener(); -// permission(); -// showLoginTip(); - EventBus.getDefault().register(this); - AuthModel.get().isFromLogin = true; - } - - private void onFindViews() { - accountEt = findViewById(R.id.et_account); - passwordEt = findViewById(R.id.et_password); - tvProtocol = findViewById(R.id.tv_protocol); - wxLogin = findViewById(R.id.img_wx_login); - qqLogin = findViewById(R.id.img_qq_login); - tvLoginTip = findViewById(R.id.tv_login_tip); - tvLoginQuickPass = findViewById(R.id.tv_login_quick_pass); - codeEditText = findViewById(R.id.et_code); - getCodeButton = findViewById(R.id.btn_get_code); - tvDesc = findViewById(R.id.tv_desc); - - setProtocol(); - - codeEditText.setVisibility(View.GONE); - getCodeButton.setVisibility(View.GONE); - } - - private void onSetListener() { - btnLogin = findViewById(R.id.btn_login); - btnLogin.setOnClickListener(this); - btnLogin.setEnabled(false); - findViewById(R.id.btn_register).setOnClickListener(this); - findViewById(R.id.btn_forget).setOnClickListener(this); - wxLogin.setOnClickListener(this); - qqLogin.setOnClickListener(this); - - accountEt.addTextChangedListener(textWatcher); - passwordEt.addTextChangedListener(textWatcher); - codeEditText.addTextChangedListener(textWatcher); - - getCodeButton.setOnClickListener(this); - } - - private void checkInput() { - if (!TextUtils.isEmpty(accountEt.getText().toString()) - && !TextUtils.isEmpty(passwordEt.getText().toString())) { - if (codeEditText.getVisibility() == View.VISIBLE) { - if (!smsCodeValidator.isValid(codeEditText.getText().toString())) { - toast(smsCodeValidator.getErrorMessage()); - btnLogin.setEnabled(false); - } else { - btnLogin.setEnabled(true); - } - } else { - btnLogin.setEnabled(true); - } - } else { - btnLogin.setEnabled(false); - } - } - - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.btn_login: - if (!accountValidator.isValid(accountEt.getText().toString())) { - toast(accountValidator.getErrorMessage()); - return; - } - final String account = accountEt.getText().toString().toLowerCase(); - - final String password = passwordEt.getText().toString(); - - if (codeEditText.getVisibility() == View.VISIBLE && - !smsCodeValidator.isValid(codeEditText.getText().toString())) { - toast(smsCodeValidator.getErrorMessage()); - return; - } - String smsCode = codeEditText.getText().toString(); - - KeyBoardUtils.hideKeyBoard(this, accountEt); - KeyBoardUtils.hideKeyBoard(this, passwordEt); - getDialogManager().showProgressDialog(this, "正在登录..."); - // 易盾保护 token 登录 -// String yiDunLoginToken = watchman.getToken(XChatConstants.YI_DUN_LOGIN_BUSINESS_ID); - // 数美天网 deviceId -// String shuMeiDeviceId = SmAntiFraud.getDeviceId(); - AuthModel.get().login( - account, - password, - smsCode, - "", - "") - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - mCompositeDisposable.add(d); - } - - @Override - public void onSuccess(String s) { - getDialogManager().dismissDialog(); - setResult(RESULT_OK); - finish(); - } - - @Override - public void onError(Throwable e) { - getDialogManager().dismissDialog(); - dealWithLoginError(e); - } - }); - - StatisticManager.Instance().onEvent(this, - StatisticsProtocol.Event.EVENT_LOGIN_PHONE_CLICK, "点击手机号登录", null); - break; - case R.id.btn_register: - UIHelper.showRegisterAct(LoginActivity.this); - StatisticManager.Instance().onEvent(this, - StatisticsProtocol.Event.EVENT_LOGIN_PHONE_REGISTER_CLICK, "手机立即注册按钮", null); - break; - case R.id.btn_forget: - UIHelper.showForgetPswAct(LoginActivity.this); - break; - - case R.id.img_wx_login: - wxLogin(); - break; - case R.id.img_qq_login: - qqLogin(); - break; - - case R.id.tv_protocol: - CommonWebViewActivity.start(this, UriProvider.getUserProtocolUrl()); - break; - - case R.id.btn_get_code: - getSmsCode(); - break; - default: - - } - } - - @Override - public void dealWithLoginError(Throwable e) { - if (!(e instanceof IsSuperAdminException)) { - String msg = e.getMessage(); - StringBuilder eventLabel = new StringBuilder("登录注册页-登录失败"); - if (!TextUtils.isEmpty(msg)) { - eventLabel.append(msg); - } - // 2004可以完整写入 - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_LOGIN_FAILED_CLICK, eventLabel.toString()); - } - if (e instanceof BanAccountException) { - isSuperAdmin = false; - BanAccountException exception = (BanAccountException) e; - String text = "您的账号因" + exception.getMessage() + "被封禁\n解封时间:"; - int start = text.length(); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日", Locale.getDefault()); - text += simpleDateFormat.format(new Date(exception.getDate())); - SpannableString spannableString = new SpannableString(text); - spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(LoginActivity.this, R.color.appColor)), - start, text.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE); - getDialogManager().showOkCancelWithTitleDialog("您被封号了", - spannableString, "确定", "取消", null); - } else if (e instanceof ShowPhoneCodeException) { - isSuperAdmin = false; - ShowPhoneCodeException showPhoneCodeException = (ShowPhoneCodeException) e; - boolean isShowPhoneCode = showPhoneCodeException.isShowPhoneCode(); - if (isShowPhoneCode) { - // 需要显示验证码 - if (codeEditText.getVisibility() == View.GONE) { - codeEditText.setVisibility(View.VISIBLE); - getCodeButton.setVisibility(View.VISIBLE); - btnLogin.setEnabled(false); - } - } - toast(e.getMessage()); - } else if (e instanceof IsSuperAdminException) { - isSuperAdmin = true; - // 需要显示验证码 - if (codeEditText.getVisibility() == View.GONE) { - codeEditText.setVisibility(View.VISIBLE); - getCodeButton.setVisibility(View.VISIBLE); - btnLogin.setEnabled(false); - } else { - stopCountDownTimer(); - getCodeButton.setText("重新获取"); - getCodeButton.setClickable(true);//重新获得点击 - getCodeButton.setTextColor(getCodeButton.getResources().getColor(R.color.appColor)); //还原背景色 - btnLogin.setEnabled(false); - } - toast(e.getMessage()); - } else { - isSuperAdmin = false; - toast(e.getMessage()); - } - } - - /** - * 获取验证码 - */ - @SuppressLint("CheckResult") - private void getSmsCode() { - getCodeButton.setText("获取中.."); - String deviceId = DeviceUuidFactory.getDeviceId(this); - if (isSuperAdmin) { - CodeModel.get() - .sendCode(accountEt.getEditableText().toString(), CodeType.SUPER_ADMIN) - .observeOn(AndroidSchedulers.mainThread()) - .compose(bindUntilEvent(ActivityEvent.DESTROY)) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(String s) { - startCountDownTimer(); - toast(s); - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - Logger.e(TAG, "获取短信失败!"); - } - }); - } else { - AuthModel.get() - .sendLoginCode(accountEt.getEditableText().toString(), 0) - .observeOn(AndroidSchedulers.mainThread()) - .compose(bindUntilEvent(ActivityEvent.DESTROY)) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(String s) { - startCountDownTimer(); - toast(s); - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - Logger.e(TAG, "获取短信失败!"); - } - }); - } - } - - private void startCountDownTimer() { - stopCountDownTimer(); - timer = new CodeDownTimer(getCodeButton, 60000, 1000); - timer.start(); - } - - private void stopCountDownTimer() { - if (timer != null) { - timer.cancel(); - timer = null; - } - } - - @Override - protected void onDestroy() { - accountEt = null; - passwordEt = null; - super.onDestroy(); - EventBus.getDefault().unregister(this); - } - - /** - * 注册成功后发送过来的事件 - */ - @Subscribe(threadMode = ThreadMode.MAIN) - public void onLoginEvent(LoginEvent event) { - getDialogManager().dismissDialog(); - setResult(RESULT_OK); - finish(); - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - View view = getCurrentFocus(); - boolean isPressEdit = false; - if (view instanceof EditText) { - if (event.getRawX() >= view.getX() && event.getRawX() <= view.getX() + view.getWidth() && event.getRawY() >= view.getY() && event.getRawY() <= view.getY() + view.getHeight()) { - isPressEdit = true; - } - } - if (!isPressEdit) { - hideIME(); - } - return super.onTouchEvent(event); - - } -} diff --git a/app/src/main/java/com/yizhuan/erban/ui/login/LoginPhoneActivity.java b/app/src/main/java/com/yizhuan/erban/ui/login/LoginPhoneActivity.java index b4236e690..17d94d85a 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/login/LoginPhoneActivity.java +++ b/app/src/main/java/com/yizhuan/erban/ui/login/LoginPhoneActivity.java @@ -53,7 +53,7 @@ public class LoginPhoneActivity extends BaseActivity implements View.OnClickList public static void startForResult(Activity context, int requestCode) { Intent intent = new Intent(context, LoginPhoneActivity.class); - context.startActivityForResult(intent, requestCode); // startActivityForResult会导致singletop,singletask失效 + context.startActivityForResult(intent, requestCode); // } @Override @@ -167,10 +167,6 @@ public class LoginPhoneActivity extends BaseActivity implements View.OnClickList } private void handleFinish() { -// if (!isBackLogin) { -// toast("请先绑定手机号"); -// return; -// } finish(); } diff --git a/app/src/main/java/com/yizhuan/erban/ui/login/PasswordValidator.java b/app/src/main/java/com/yizhuan/erban/ui/login/PasswordValidator.java index 0e61eb08f..d1cda034c 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/login/PasswordValidator.java +++ b/app/src/main/java/com/yizhuan/erban/ui/login/PasswordValidator.java @@ -1,8 +1,9 @@ package com.yizhuan.erban.ui.login; -import androidx.annotation.NonNull; import android.text.TextUtils; +import androidx.annotation.NonNull; + import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -12,29 +13,17 @@ import java.util.regex.Pattern; public class PasswordValidator { - // private static final String REG = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,15}$"; -// [a-z_A-Z0-9-\.!@#\$%\\\^&\*\)\(\+=\{\}\[\]\/",'<>~\·`\?:;|] - private static final String REG = "^(?![0-9]+$)(?![a-zA-Z]+$)[a-z_A-Z0-9-\\.!@#\\$%\\\\\\^&\\*\\)\\(\\+=\\{\\}\\[\\]\\/\",'<>~\\·`\\?:;|]{6,16}$"; -// private static final String REG = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z,.?!':@;\"/()-_=+]{6,15}$"; + private static final String REG = "^(?![0-9]+$)(?![a-zA-Z]+$)[a-z_A-Z0-9-.!@#$%\\\\^&*)(+={}\\[\\]/\",'<>~·`?:;|]{6,16}$"; private String errorMessage; public PasswordValidator() { } - public PasswordValidator(@NonNull String errorMessage) { - this.errorMessage = errorMessage; - } - public boolean isValid(@NonNull String text) { if (!TextUtils.isEmpty(text)) { if (16 >= text.length() && text.length() >= 6) { - if (checkPwdFormat(text)) { - return true; - } else { - errorMessage = "密码同时需要是字母,数字的组合哦!"; - return false; - } + return true; } else { errorMessage = "密码长度6-16个字符"; return false; @@ -45,9 +34,7 @@ public class PasswordValidator { return false; } - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } + public String getErrorMessage() { return errorMessage; diff --git a/app/src/main/java/com/yizhuan/erban/ui/login/QQLoginSelectMemberTypeActivity.java b/app/src/main/java/com/yizhuan/erban/ui/login/QQLoginSelectMemberTypeActivity.java deleted file mode 100644 index 73649487d..000000000 --- a/app/src/main/java/com/yizhuan/erban/ui/login/QQLoginSelectMemberTypeActivity.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.yizhuan.erban.ui.login; - -import android.content.Context; -import android.content.Intent; -import androidx.core.content.ContextCompat; -import android.text.Spannable; -import android.text.SpannableString; -import android.text.style.ForegroundColorSpan; -import android.view.View; - -import com.ishumei.smantifraud.SmAntiFraud; -import com.netease.mobsec.rjsb.watchman; -import com.trello.rxlifecycle3.android.ActivityEvent; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseBindingActivity; -import com.yizhuan.erban.databinding.ActivityQqLoginSelectMemberTypeBinding; -import com.yizhuan.xchat_android_constants.XChatConstants; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.auth.exception.BanAccountException; -import com.yizhuan.xchat_android_core.auth.exception.OldMemberException; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_library.annatation.ActLayoutRes; - -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; - -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; - -@ActLayoutRes(R.layout.activity_qq_login_select_member_type) -public class QQLoginSelectMemberTypeActivity extends BaseBindingActivity { - - private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日", Locale.getDefault()); - - public static void start(Context context) { - context.startActivity(new Intent(context, QQLoginSelectMemberTypeActivity.class)); - } - - @Override - protected void init() { - mBinding.setClick(this); - } - - @Override - public void onClick(View v) { - super.onClick(v); - switch (v.getId()) { - case R.id.tv_erban_member: - getDialogManager().showProgressDialog(this, "请稍后"); - // 易盾保护 token -// String token = watchman.getToken(XChatConstants.YI_DUN_BUSINESS_ID); - String token = ""; - // 数美天网 deviceId -// String shuMeiDeviceId = SmAntiFraud.getDeviceId(); - String shuMeiDeviceId = ""; - AuthModel.get() - .qqLoginForErbanOldMember(token, shuMeiDeviceId) - .compose(bindUntilEvent(ActivityEvent.DESTROY)) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - mCompositeDisposable.add(d); - } - - @Override - public void onSuccess(String s) { - getDialogManager().dismissDialog(); - finish(); - } - - @Override - public void onError(Throwable e) { - getDialogManager().dismissDialog(); - if (e instanceof OldMemberException) { - OldMemberException exception = (OldMemberException) e; - ErbanQQMemberBindAndLoginActivity.start(QQLoginSelectMemberTypeActivity.this, ((OldMemberException) e).getOpenid()); - finish(); - } else { - dealWithLoginError(e); - } - } - }); - break; - - case R.id.tv_tutu_member: - getDialogManager().showProgressDialog(this, "请稍后"); - // 易盾保护 token -// String tokenForQQ = watchman.getToken(XChatConstants.YI_DUN_BUSINESS_ID); - // 数美天网 deviceId -// String shuMeiDeviceIdForQQ = SmAntiFraud.getDeviceId(); - AuthModel.get() - .qqLogin("", "") - .compose(bindUntilEvent(ActivityEvent.DESTROY)) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - mCompositeDisposable.add(d); - } - - @Override - public void onSuccess(String s) { - getDialogManager().dismissDialog(); - finish(); - } - - @Override - public void onError(Throwable e) { - getDialogManager().dismissDialog(); - dealWithLoginError(e); - } - }); - StatisticManager.Instance().onEvent(this, - StatisticsProtocol.Event.EVENT_LOGIN_QQ_CLICK, "点击qq登录", null); - break; - } - } - - private void dealWithLoginError(Throwable e) { - if (e instanceof BanAccountException) { - BanAccountException exception = (BanAccountException) e; - String text = "您的账号因" + exception.getMessage() + "被封禁\n解封时间:"; - int start = text.length(); - text += simpleDateFormat.format(new Date(exception.getDate())); - SpannableString spannableString = new SpannableString(text); - spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(QQLoginSelectMemberTypeActivity.this, R.color.appColor)), - start, text.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE); - getDialogManager().showOkCancelWithTitleDialog("您被封号了", - spannableString, "确定", "取消", null); - } else { - toast(e.getMessage()); - } - } -} diff --git a/app/src/main/java/com/yizhuan/erban/ui/login/RegisterActivity.java b/app/src/main/java/com/yizhuan/erban/ui/login/RegisterActivity.java deleted file mode 100644 index 51d0ed263..000000000 --- a/app/src/main/java/com/yizhuan/erban/ui/login/RegisterActivity.java +++ /dev/null @@ -1,385 +0,0 @@ -package com.yizhuan.erban.ui.login; - -import android.annotation.SuppressLint; -import android.graphics.BitmapFactory; -import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.core.content.ContextCompat; -import android.text.Editable; -import android.text.SpannableString; -import android.text.Spanned; -import android.text.TextUtils; -import android.text.TextWatcher; -import android.text.method.LinkMovementMethod; -import android.text.style.ClickableSpan; -import android.text.style.ForegroundColorSpan; -import android.view.View; -import android.widget.Button; -import android.widget.EditText; -import android.widget.ImageView; -import android.widget.TextView; - -import com.bumptech.glide.load.engine.DiskCacheStrategy; -import com.bumptech.glide.load.resource.bitmap.CenterCrop; -import com.bumptech.glide.load.resource.bitmap.RoundedCorners; -import com.ishumei.smantifraud.SmAntiFraud; -import com.netease.mobsec.rjsb.watchman; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.orhanobut.logger.Logger; -import com.trello.rxlifecycle3.android.ActivityEvent; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseActivity; -import com.yizhuan.erban.ui.webview.CommonWebViewActivity; -import com.yizhuan.xchat_android_constants.XChatConstants; -import com.yizhuan.xchat_android_core.UriProvider; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.code.CodeModel; -import com.yizhuan.xchat_android_core.code.CodeType; -import com.yizhuan.xchat_android_core.exception.FailReasonException; -import com.yizhuan.xchat_android_core.initial.InitialModel; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_core.utils.net.RxHelper; - -import io.reactivex.SingleObserver; -import io.reactivex.SingleSource; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Function; - -/** - * Created by zhouxiangfeng on 17/3/5. - */ - -public class RegisterActivity extends BaseActivity implements View.OnClickListener { - - - private static final String TAG = "RegisterActivity"; - private ImageView ivBack; - private EditText phoneEt; - private Button getCodeBtn; - private EditText pswEt; - - private EditText codeEt; - private Button btnRegister; - private TextView tvProtocol; - - private String phone; - private String psw; - - private ImageView ivGetRegisterCode; - private ImageView btnGetRegisterCode; - private ImageView registerCodeRefresh; - private EditText registerCode; - - private AccountValidator accountValidator = new AccountValidator(); - private PasswordValidator passwordValidator = new PasswordValidator(); - private SMSCodeValidator smsCodeValidator = new SMSCodeValidator(); - private CodeDownTimer timer; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_register); - onFindViews(); - onSetListener(); - } - - @SuppressLint("CheckResult") - public void onFindViews() { - ivBack = findViewById(R.id.iv_back); - phoneEt = findViewById(R.id.et_phone); - pswEt = findViewById(R.id.et_password); - codeEt = findViewById(R.id.et_code); - getCodeBtn = findViewById(R.id.btn_get_code); - btnRegister = findViewById(R.id.btn_register); - tvProtocol = findViewById(R.id.tv_protocol); - - String userAgreementTip = "《音游用户协议》"; - String privacyAgreementDescTip = context.getString(R.string.text_login_protocol_2, userAgreementTip); - SpannableString ss = new SpannableString(privacyAgreementDescTip); - int userAgreementTipIndex = privacyAgreementDescTip.indexOf(userAgreementTip); - - ss.setSpan(new ClickableSpan() { - @Override - public void onClick(@NonNull View view) { - CommonWebViewActivity.start(context, UriProvider.getUserProtocolUrl()); - } - }, userAgreementTipIndex, userAgreementTipIndex + userAgreementTip.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); - ss.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.design_color)), - userAgreementTipIndex, userAgreementTipIndex + userAgreementTip.length(), - Spanned.SPAN_INCLUSIVE_EXCLUSIVE); - - tvProtocol.setText(ss); - tvProtocol.setMovementMethod(new LinkMovementMethod()); - - ivGetRegisterCode = findViewById(R.id.iv_get_register_code); - btnGetRegisterCode = findViewById(R.id.btn_get_register_code); - registerCode = findViewById(R.id.et_register_code); - registerCodeRefresh = findViewById(R.id.iv_register_code_refresh); - ivGetRegisterCode.setVisibility(InitialModel.get().isCaptchaSwitch() ? View.VISIBLE : View.GONE); - btnGetRegisterCode.setVisibility(InitialModel.get().isCaptchaSwitch() ? View.VISIBLE : View.GONE); - registerCode.setVisibility(InitialModel.get().isCaptchaSwitch() ? View.VISIBLE : View.GONE); - registerCodeRefresh.setVisibility(InitialModel.get().isCaptchaSwitch() ? View.VISIBLE : View.GONE); - } - - public void onSetListener() { - ivBack.setOnClickListener(this); - btnRegister.setOnClickListener(this); - getCodeBtn.setOnClickListener(this); -// tvProtocol.setOnClickListener(this); - - phoneEt.addTextChangedListener(new CheckInputTextWatcher()); - pswEt.addTextChangedListener(new CheckInputTextWatcher()); - codeEt.addTextChangedListener(new CheckInputTextWatcher()); - - btnGetRegisterCode.setOnClickListener(this); - ivGetRegisterCode.setOnClickListener(this); - registerCodeRefresh.setOnClickListener(this); - registerCode.addTextChangedListener(new CheckInputTextWatcher()); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - getDialogManager().dismissDialog(); - stopCountDownTimer(); - } - - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.btn_register: - // 校验账号 - if (!accountValidator.isValidToRegister(phoneEt.getText().toString())) { - toast(accountValidator.getErrorMessage()); - return; - } - phone = phoneEt.getText().toString(); - // 校验密码 - if (!passwordValidator.isValid(pswEt.getText().toString())) { - toast(passwordValidator.getErrorMessage()); - return; - } - psw = pswEt.getText().toString(); - // 校验短信验证码 - if (!smsCodeValidator.isValid(codeEt.getText().toString())) { - toast(smsCodeValidator.getErrorMessage()); - return; - } - String sms_code = codeEt.getText().toString(); - // 校验图片验证码 - String verificationCode = null; - if (InitialModel.get().isCaptchaSwitch()) { - if (TextUtils.isEmpty(registerCode.getText().toString())) { - toast(R.string.tips_register_verification_code_empty); - return; - } - verificationCode = registerCode.getText().toString(); - } - // 易盾保护 token -// String token = watchman.getToken(XChatConstants.YI_DUN_BUSINESS_ID); - // 易盾保护 token 登录 -// String yiDunLoginToken = watchman.getToken(XChatConstants.YI_DUN_LOGIN_BUSINESS_ID); - // 数美天网 deviceId -// String shuMeiDeviceId = SmAntiFraud.getDeviceId(); - String token = ""; - String yiDunLoginToken = ""; - String shuMeiDeviceId = ""; - getDialogManager().showProgressDialog(RegisterActivity.this, "正在注册..."); - - AuthModel.get().register(phone, sms_code, verificationCode, psw, token, shuMeiDeviceId) - .compose(bindToLifecycle()) - .flatMap(new Function>() { - @Override - public SingleSource apply(String s) throws Exception { - Logger.d(s); - return AuthModel.get().login(phone, psw, yiDunLoginToken, shuMeiDeviceId); - } - }) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(String s) { - Logger.d(s); - toast("注册成功!"); - getDialogManager().dismissDialog(); - finish(); - } - - @Override - public void onError(Throwable e) { - String msg = e.getMessage(); - if (!TextUtils.isEmpty(msg)) { - toast(msg); - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_LOGIN_REGISTRATION_FAILED_CLICK,"登录注册页-注册失败-" + msg); - } - if (e instanceof FailReasonException) { - FailReasonException failReasonException = (FailReasonException) e; - switch (failReasonException.getCode()) { - case AuthModel.VERIFY_CODE_ERROR: - refreshRegisterVerificationCode(); - break; - } - } - getDialogManager().dismissDialog(); - } - }); - - break; - case R.id.btn_get_code: - if (!accountValidator.isValidToRegister(phoneEt.getText().toString())) { - toast(accountValidator.getErrorMessage()); - return; - } - phone = phoneEt.getText().toString(); - - CodeModel.get().sendCode(phone, CodeType.REGISTER) - .compose(bindUntilEvent(ActivityEvent.DESTROY)) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(String s) { - startCountDownTimer(); - toast(s); - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - Logger.e(TAG, "获取短信失败!"); - } - }); - - break; - case R.id.iv_back: - finish(); - break; - case R.id.tv_protocol: - CommonWebViewActivity.start(this, UriProvider.getUserProtocolUrl()); - break; - case R.id.iv_register_code_refresh: - case R.id.iv_get_register_code: - case R.id.btn_get_register_code: - refreshRegisterVerificationCode(); - break; - - default: - break; - } - } - - private void refreshRegisterVerificationCode() { - if (!accountValidator.isValidToRegister(phoneEt.getText().toString())) { - toast(accountValidator.getErrorMessage()); - return; - } - phone = phoneEt.getText().toString(); - AuthModel.get() - .getVerificationCode(phone) - .compose(RxHelper.bindActivity(this)) - .subscribe((responseBody, throwable) -> { - if (throwable == null) { - btnGetRegisterCode.setVisibility(View.GONE); - ivGetRegisterCode.setVisibility(View.VISIBLE); - registerCode.setVisibility(View.VISIBLE); - GlideApp.with(RegisterActivity.this) - .load(BitmapFactory.decodeStream(responseBody.byteStream())) - .diskCacheStrategy(DiskCacheStrategy.ALL) - .transforms(new CenterCrop(), - new RoundedCorners(context.getResources().getDimensionPixelOffset(R.dimen.dp_6))) - .into(ivGetRegisterCode); - } else { - toast(throwable.getMessage()); - } - }); - } - - private void startCountDownTimer() { - stopCountDownTimer(); - timer = new CodeDownTimer(getCodeBtn, 60000, 1000); - timer.start(); - } - - private void stopCountDownTimer() { - if (timer != null) { - timer.cancel(); - timer = null; - } - } - - /** - * 检查值是否有效 - */ - private void checkValueValid() { - String phone = phoneEt.getText().toString(); - if (TextUtils.isEmpty(phone)) { - btnRegister.setEnabled(false); - return; - } - - if (InitialModel.get().isCaptchaSwitch()) { - String registerCodeText = registerCode.getText().toString(); - if (TextUtils.isEmpty(registerCodeText)) { - btnRegister.setEnabled(false); - return; - } - } - - String code = codeEt.getText().toString(); - if (TextUtils.isEmpty(code)) { - btnRegister.setEnabled(false); - return; - } - - String password = pswEt.getText().toString(); - if (TextUtils.isEmpty(password)) { - btnRegister.setEnabled(false); - return; - } - btnRegister.setEnabled(true); - - - } - - @Override - protected boolean needSteepStateBar() { - return true; - } - - @Override - protected void setStatusBar() { - StatusBarLightModes(true); - } - - /** - * 检查值 - */ - private class CheckInputTextWatcher implements 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) { - checkValueValid(); - } - - - } - -} diff --git a/app/src/main/java/com/yizhuan/erban/ui/login/SMSCodeValidator.java b/app/src/main/java/com/yizhuan/erban/ui/login/SMSCodeValidator.java deleted file mode 100644 index fca20b89e..000000000 --- a/app/src/main/java/com/yizhuan/erban/ui/login/SMSCodeValidator.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.yizhuan.erban.ui.login; - -import androidx.annotation.NonNull; -import android.text.TextUtils; - -import com.yizhuan.xchat_android_library.utils.StringUtils; - -/** - * Created by zhouxiangfeng on 2017/5/3. - */ - -public class SMSCodeValidator { - - private String errorMessage; - - public SMSCodeValidator() { - } - - public SMSCodeValidator(@NonNull String errorMessage) { - this.errorMessage = errorMessage; - } - - private boolean isValidMobileNumber(String phone) { - if (phone == null || phone.length() != 5 ) - return false; - - if (!isAllDigits(phone)) - return false; - - return true; - } - - private boolean isAllDigits(String str) { - if (StringUtils.isEmpty(str)) return false; - for (int i = 0; i < str.length(); i++) { - char c = str.charAt(i); - if (c < '0' || c > '9') { - return false; - } - } - return true; - } - - public boolean isValid(@NonNull CharSequence text) { - if (!TextUtils.isEmpty(text)) { - char c = text.charAt(0); - - if (text.length() != 5) { - errorMessage = "验证码长度为5个字符"; - return false; - } - - } else { - errorMessage = "验证码不能为空!"; - return false; - } - return true; - } - - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } -} \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/ui/setting/ModifyPwdActivity.java b/app/src/main/java/com/yizhuan/erban/ui/setting/ModifyPwdActivity.java index fdd9ebea5..0ba62e638 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/setting/ModifyPwdActivity.java +++ b/app/src/main/java/com/yizhuan/erban/ui/setting/ModifyPwdActivity.java @@ -11,20 +11,22 @@ import com.coorchice.library.utils.LogUtils; import com.netease.nim.uikit.StatusBarUtil; import com.trello.rxlifecycle3.android.ActivityEvent; import com.yizhuan.erban.R; -import com.yizhuan.erban.UIHelper; import com.yizhuan.erban.base.BaseBindingActivity; import com.yizhuan.erban.databinding.ActivityModifyPwdBinding; import com.yizhuan.erban.ui.login.CodeDownTimer; import com.yizhuan.erban.ui.login.PasswordValidator; import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.code.CodeModel; +import com.yizhuan.xchat_android_core.auth.event.LogoutEvent; import com.yizhuan.xchat_android_core.code.CodeType; import com.yizhuan.xchat_android_core.user.UserModel; import com.yizhuan.xchat_android_core.user.bean.UserInfo; import com.yizhuan.xchat_android_core.utils.net.BeanObserver; -import com.yizhuan.xchat_android_core.utils.net.DontWarnObserver; import com.yizhuan.xchat_android_library.annatation.ActLayoutRes; +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; + import java.util.Objects; import io.reactivex.SingleObserver; @@ -57,15 +59,13 @@ public class ModifyPwdActivity extends BaseBindingActivity() { @@ -181,7 +176,6 @@ public class ModifyPwdActivity extends BaseBindingActivity= 7 + && !TextUtils.isEmpty(mBinding.edPassword.getText()) && mBinding.edPassword.getText().trim().length() >= 6 + && !TextUtils.isEmpty(mBinding.etCode.getText()) && mBinding.etCode.getText().toString().trim().length() >= 5; + mBinding.btnCommit.setEnabled(enabled); + } + + @Override public void onClick(View v) { super.onClick(v); @@ -66,7 +88,7 @@ public class ResetPasswordActivity extends BaseBindingActivity() { @Override @@ -137,6 +158,9 @@ public class ResetPasswordActivity extends BaseBindingActivity acts = new ArrayList<>(); acts.add(MiddleActivity.class); acts.add(NimMiddleActivity.class); - acts.add(ErbanQQMemberBindAndLoginActivity.class); acts.add(PaymentActivity.class); acts.add(SplashActivity.class); diff --git a/app/src/main/res/layout/activity_erban_qq_bind_login.xml b/app/src/main/res/layout/activity_erban_qq_bind_login.xml deleted file mode 100644 index c91e687aa..000000000 --- a/app/src/main/res/layout/activity_erban_qq_bind_login.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - -