97ca4bb0dadd1444188cdd14d75b00b9d644e041.svn-base 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. package eVVM.apk.ui.login;
  2. import android.content.Intent;
  3. import android.graphics.Color;
  4. import android.text.Html;
  5. import android.text.SpannableStringBuilder;
  6. import android.text.Spanned;
  7. import android.text.TextPaint;
  8. import android.text.TextUtils;
  9. import android.text.method.LinkMovementMethod;
  10. import android.text.style.ClickableSpan;
  11. import android.util.Log;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.widget.CheckBox;
  15. import android.widget.CompoundButton;
  16. import android.widget.EditText;
  17. import android.widget.ImageView;
  18. import android.widget.TextView;
  19. import com.hjq.base.BaseDialog;
  20. import com.hjq.base.BaseDialogFragment;
  21. import com.hjq.widget.CountdownView;
  22. import butterknife.BindView;
  23. import butterknife.OnClick;
  24. import eVVM.apk.R;
  25. import eVVM.apk.mvp.MvpActivity;
  26. import eVVM.apk.ui.bean.VerificationCodeBean;
  27. import eVVM.apk.ui.login.register.RegisterContract;
  28. import eVVM.apk.ui.login.register.RegisterPresenter;
  29. public class RegisterActivity extends MvpActivity<RegisterPresenter> implements RegisterContract.View {
  30. @BindView(R.id.forget_et_phone)
  31. EditText forgetEtPhone;
  32. @BindView(R.id.cv_password_forget_countdown)
  33. CountdownView cvPasswordForgetCountdown;
  34. @BindView(R.id.forget_et_code)
  35. EditText forgetEtCode;
  36. @BindView(R.id.forget_et_pwd)
  37. EditText forgetEtPwd;
  38. @BindView(R.id.forget_et_pwdAgain)
  39. EditText forgetEtPwdAgain;
  40. @BindView(R.id.forget_btn_login)
  41. Button forgetBtnLogin;
  42. @BindView(R.id.register_cb_agree)
  43. CheckBox registerCbAgree;
  44. @BindView(R.id.register_tv_protocol)
  45. TextView registerTvProtocol;
  46. @Override
  47. protected int getLayoutId() {
  48. return R.layout.activity_register;
  49. }
  50. @Override
  51. protected int getTitleId() {
  52. return R.id.tb_register_title;
  53. }
  54. @Override
  55. protected void initView() {
  56. //设置 button的状态
  57. getBtnStact();
  58. //设置用户协议
  59. toProtocol();
  60. forgetBtnLogin.setEnabled(false);
  61. }
  62. private void getBtnStact() {
  63. registerCbAgree.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  64. @Override
  65. public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
  66. if (b) {
  67. /*forgetBtnLogin.setClickable(true);
  68. forgetBtnLogin.setEnabled(true);*/
  69. if (TextUtils.isEmpty(forgetEtPhone.getText().toString().trim()) || TextUtils.isEmpty(forgetEtCode.getText().toString().trim())
  70. || TextUtils.isEmpty(forgetEtPwd.getText().toString().trim()) || TextUtils.isEmpty(forgetEtPwdAgain.getText().toString().trim())) {
  71. forgetBtnLogin.setEnabled(false);
  72. } else {
  73. forgetBtnLogin.setEnabled(true);
  74. }
  75. } else {
  76. //forgetBtnLogin.setClickable(false);
  77. forgetBtnLogin.setEnabled(false);
  78. }
  79. }
  80. });
  81. }
  82. private void toProtocol() {
  83. ClickableSpan clickableSpan = new ClickableSpan() {
  84. @Override
  85. public void onClick(View widget) {
  86. //startActivity(new Intent(SpecialLineCompanyListActivity.this, SpecialLineCreateCompanyActivity.class));//响应点击事件
  87. // agreementView.setVisibility(View.VISIBLE);
  88. new BaseDialogFragment.Builder(getActivity())
  89. .setContentView(R.layout.dialog_agree)
  90. .setAnimStyle(BaseDialog.AnimStyle.SCALE)
  91. .setText(R.id.agree_msg, Html.fromHtml(getString(R.string.agreement)))
  92. .setOnClickListener(R.id.agree_canale, new BaseDialog.OnClickListener<ImageView>() {
  93. @Override
  94. public void onClick(BaseDialog dialog, ImageView view) {
  95. dialog.dismiss();
  96. }
  97. })
  98. .addOnShowListener(new BaseDialog.OnShowListener() {
  99. @Override
  100. public void onShow(BaseDialog dialog) {
  101. //toast("Dialog 显示了");
  102. }
  103. })
  104. .addOnCancelListener(new BaseDialog.OnCancelListener() {
  105. @Override
  106. public void onCancel(BaseDialog dialog) {
  107. // toast("Dialog 取消了");
  108. }
  109. })
  110. .addOnDismissListener(new BaseDialog.OnDismissListener() {
  111. @Override
  112. public void onDismiss(BaseDialog dialog) {
  113. //toast("Dialog 销毁了");
  114. }
  115. })
  116. .show();
  117. }
  118. @Override
  119. public void updateDrawState(TextPaint ds) {
  120. ds.setColor(Color.BLUE);//设置颜色
  121. ds.setUnderlineText(false);//去掉下划线
  122. ds.clearShadowLayer();
  123. }
  124. };
  125. SpannableStringBuilder builder = new SpannableStringBuilder(registerTvProtocol.getText().toString());
  126. builder.setSpan(clickableSpan, 9, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //字体颜色
  127. registerTvProtocol.setText(builder);
  128. registerTvProtocol.setHighlightColor(Color.TRANSPARENT);
  129. registerTvProtocol.setMovementMethod(LinkMovementMethod.getInstance());//必须设置才能响应点击事件
  130. }
  131. @Override
  132. protected void initData() {
  133. }
  134. @OnClick({R.id.cv_password_forget_countdown, R.id.forget_btn_login, R.id.register_tv_protocol})
  135. public void onViewClicked(View view) {
  136. switch (view.getId()) {
  137. case R.id.cv_password_forget_countdown:
  138. if (forgetEtPhone.getText().toString().length() != 11) {
  139. // 重置验证码倒计时控件
  140. cvPasswordForgetCountdown.resetState();
  141. toast(getString(R.string.common_phone_input_error));
  142. } else {
  143. getPresenter().getCode(forgetEtPhone.getText().toString().trim(), 1);
  144. }
  145. break;
  146. case R.id.forget_btn_login:
  147. if (TextUtils.isEmpty(forgetEtPhone.getText().toString().trim()) || TextUtils.isEmpty(forgetEtCode.getText().toString().trim())
  148. || TextUtils.isEmpty(forgetEtPwd.getText().toString().trim()) || TextUtils.isEmpty(forgetEtPwdAgain.getText().toString().trim())) {
  149. //forgetBtnLogin.setEnabled(false);
  150. toast("请重新输入");
  151. } else {
  152. if (forgetEtPhone.getText().toString().length() != 11) {
  153. toast(getString(R.string.common_phone_input_error));
  154. } else if (!forgetEtPwd.getText().toString().equals(forgetEtPwdAgain.getText().toString())) {
  155. toast(getString(R.string.register_password_input_error));
  156. } else {
  157. getPresenter().register(forgetEtPhone.getText().toString().trim(),
  158. forgetEtPwd.getText().toString().trim(), forgetEtCode.getText().toString().trim());
  159. }
  160. }
  161. break;
  162. case R.id.register_tv_protocol:
  163. //点击用户协议
  164. break;
  165. }
  166. }
  167. @Override
  168. protected RegisterPresenter createPresenter() {
  169. return new RegisterPresenter();
  170. }
  171. @Override
  172. public void registerError(String msg) {
  173. toast(msg);
  174. }
  175. @Override
  176. public void registerSuccess(VerificationCodeBean data) {
  177. Intent in = new Intent(this, AuthenticationActivity.class);
  178. // int id = Integer.parseInt(String.valueOf(data.getData()));
  179. int id = Double.valueOf(String.valueOf(data.getData())).intValue();
  180. Log.e("Authentication---- ", String.valueOf(data.getData()) + "-----" + id);
  181. in.putExtra("registerUserId", id + "");
  182. startActivity(in);
  183. finish();
  184. }
  185. @Override
  186. public void getCodeError(String msg) {
  187. toast(msg);
  188. }
  189. @Override
  190. public void getCodeSuccess(VerificationCodeBean codeData) {
  191. // 获取验证码
  192. toast(getString(R.string.common_send_code_succeed));
  193. }
  194. }