6ef7de6cce5221818e63193a228d4c2ee2da5a77.svn-base 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. package eVVM.apk.ui.login;
  2. import android.os.Handler;
  3. import android.text.TextUtils;
  4. import android.util.Log;
  5. import android.view.View;
  6. import android.widget.Button;
  7. import android.widget.TextView;
  8. import com.hjq.permissions.OnPermission;
  9. import com.hjq.permissions.Permission;
  10. import com.hjq.permissions.XXPermissions;
  11. import com.hjq.widget.ClearEditText;
  12. import java.util.List;
  13. import butterknife.BindView;
  14. import butterknife.OnClick;
  15. import eVVM.apk.R;
  16. import eVVM.apk.common.MyActivity;
  17. import eVVM.apk.helper.InputTextHelper;
  18. import eVVM.apk.helper.MD5;
  19. import eVVM.apk.helper.SPUtils;
  20. import eVVM.apk.mvp.MvpActivity;
  21. import eVVM.apk.ui.bean.LoginBean;
  22. import eVVM.apk.ui.home.HomeActivity;
  23. import eVVM.apk.ui.launcher.LikeActivity;
  24. import eVVM.apk.ui.login.login.LoginContract;
  25. import eVVM.apk.ui.login.login.LoginPresenter;
  26. public class LoginActivity extends MvpActivity<LoginPresenter> implements LoginContract.View {
  27. @BindView(R.id.login_et_phone)
  28. ClearEditText loginEtPhone;
  29. @BindView(R.id.login_et_pwd)
  30. ClearEditText loginEtPwd; //密码输入框
  31. @BindView(R.id.login_tv_forgetpwd)
  32. TextView loginTvForgetpwd; //忘记密码
  33. @BindView(R.id.login_btn_login)
  34. Button loginBtnLogin; //登录
  35. @BindView(R.id.login_tv_goregist)
  36. TextView loginTvGoregist; //去注册
  37. private String getMD5Pwd;
  38. private String userPhone;
  39. @Override
  40. protected int getLayoutId() {
  41. return R.layout.activity_login;
  42. }
  43. @Override
  44. protected int getTitleId() {
  45. return 0;
  46. }
  47. @Override
  48. protected void initView() {
  49. new InputTextHelper.Builder(this)
  50. .setMain(loginBtnLogin)
  51. .addView(loginEtPhone)
  52. .addView(loginEtPwd)
  53. .build();
  54. }
  55. @Override
  56. protected void initData() {
  57. getPermissions();
  58. String user_phone = (String) SPUtils.get(this, "USER_PHONE", "");
  59. String user_pwd = (String) SPUtils.get(this, "USER_PWD", "");
  60. if (TextUtils.isEmpty(user_phone)&&TextUtils.isEmpty(user_pwd)){
  61. //用户没有登录过
  62. }else {
  63. showLoading();
  64. //登陆过 进行自动登录
  65. userPhone = user_phone ;
  66. getMD5Pwd = user_pwd;
  67. getPresenter().login(user_phone,user_pwd);
  68. }
  69. }
  70. private void getPermissions() {
  71. // 联系人
  72. String[] CONTACTS = new String[]{
  73. Permission.CAMERA,
  74. Permission.RECEIVE_SMS,
  75. Permission.READ_SMS,
  76. Permission.READ_EXTERNAL_STORAGE,
  77. Permission.WRITE_EXTERNAL_STORAGE};
  78. XXPermissions.with(LoginActivity.this)
  79. //.constantRequest() //可设置被拒绝后继续申请,直到用户授权或者永久拒绝
  80. //.permission(Permission.SYSTEM_ALERT_WINDOW, Permission.REQUEST_INSTALL_PACKAGES) //支持请求6.0悬浮窗权限8.0请求安装权限
  81. .permission(CONTACTS) //不指定权限则自动获取清单中的危险权限
  82. .request(new OnPermission() {
  83. @Override
  84. public void hasPermission(List<String> granted, boolean isAll) {
  85. /*if (isAll) {
  86. toast("获取权限成功");
  87. }else {
  88. toast("获取权限成功,部分权限未正常授予");
  89. }*/
  90. }
  91. @Override
  92. public void noPermission(List<String> denied, boolean quick) {
  93. /*if(quick) {
  94. toast("被永久拒绝授权,请手动授予权限");
  95. //如果是被永久拒绝就跳转到应用权限系统设置页面
  96. XXPermissions.gotoPermissionSettings(LoginActivity.this);
  97. }else {
  98. //toast("获取权限失败,部分功能可能无法使用");
  99. }*/
  100. }
  101. });
  102. }
  103. @OnClick({R.id.login_tv_forgetpwd, R.id.login_btn_login, R.id.login_tv_goregist})
  104. public void onViewClicked(View view) {
  105. switch (view.getId()) {
  106. case R.id.login_tv_forgetpwd:
  107. startActivity(PasswordForgetActivity.class);
  108. break;
  109. case R.id.login_btn_login:
  110. if (loginEtPhone.getText().toString().length() != 11) {
  111. toast(getString(R.string.common_phone_input_error));
  112. } else {
  113. //登录 密码进行md5加密
  114. getMD5Pwd = MD5.GetMD5Code(loginEtPwd.getText().toString().trim());
  115. userPhone = loginEtPhone.getText().toString().trim();
  116. getPresenter().login(userPhone, getMD5Pwd);
  117. showLoading();
  118. }
  119. break;
  120. case R.id.login_tv_goregist:
  121. startActivity(RegisterActivity.class);
  122. break;
  123. }
  124. }
  125. @Override
  126. protected LoginPresenter createPresenter() {
  127. return new LoginPresenter();
  128. }
  129. @Override
  130. public void loginError(String msg) {
  131. showComplete();
  132. toast(msg);
  133. }
  134. @Override
  135. public void loginSuccess(LoginBean data) {
  136. /*// 处理登录
  137. Integer likesdata = (Integer) SPUtils.get(this, "LIKESDATA", 0);
  138. if (likesdata == 0){
  139. startActivityFinish(LikeActivity.class);
  140. }else {*/
  141. LoginBean.DataBean userData = data.getData();
  142. Log.e("userData",""+userData.getPassword());
  143. SPUtils.put(this,"USER_PHONE",userPhone+"");
  144. SPUtils.put(this,"USER_PWD",getMD5Pwd+"");
  145. /* showLoading();
  146. new Handler().postDelayed(new Runnable() {
  147. @Override
  148. public void run() {
  149. initSocketContent();
  150. }
  151. }, 500);*/
  152. showComplete();
  153. startActivityFinish(HomeActivity.class);
  154. //}
  155. }
  156. }