3229f7014c11f426e57ff9571e5b15bb81fd20dc.svn-base 8.7 KB

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