package com.demo.library_login.ui; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.widget.CheckBox; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; import com.demo.lib.common.activity.BaseActivity; import com.demo.lib.common.util.SingleToast; import com.demo.lib.common.util.common.StringUtils; import com.demo.library_login.R; import com.demo.library_login.entity.LoginApiResult; import com.demo.library_login.inter.ILoginListener; import com.demo.library_login.inter.LoginApiCallBack; public class EmailLoginActivity extends BaseActivity implements OnClickListener { public static final int RESULT_LOGIN = 10; private ProgressDialog dialog; private TextView tv_cancel;// 取消 private boolean isTouchLogin;// 用户是否点击登录 private String uid; private String loginType = "";// 登录类型 默认为空字符 QQ为1 private String openId = "";// 用户第三方登录唯一识别码 private LinearLayout ll_login_content; private EditText et_name; private EditText et_pwd; private CheckBox cb_user_agreement; private TextView tv_forget_pwd; private TextView tv_register; private TextView tv_login; private ILoginListener loginListener; public void setLoginListener(ILoginListener loginListener) { this.loginListener = loginListener; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); loginListener = (ILoginListener) (getIntent().getSerializableExtra("listener")); uid = getSharedPreferences("user", Context.MODE_PRIVATE).getString( "uid", ""); tv_cancel = findViewById(R.id.login_tv_cancel); tv_cancel.setOnClickListener(this); dialog = new ProgressDialog(this); ll_login_content = findViewById(R.id.ll_login_content); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); ll_login_content.measure(w, h); et_name = findViewById(R.id.et_name); et_pwd = findViewById(R.id.et_pwd); cb_user_agreement = findViewById(R.id.cb_user_agreement); tv_forget_pwd = findViewById(R.id.tv_forget_pwd); tv_register = findViewById(R.id.tv_register); tv_login = findViewById(R.id.tv_login); tv_forget_pwd.setOnClickListener(this); tv_register.setOnClickListener(this); tv_login.setOnClickListener(this); findViewById(R.id.tv_user_agreement).setOnClickListener(this); findViewById(R.id.tv_privacy_policy).setOnClickListener(this); } @Override public void onClick(View v) { int id = v.getId(); if (id == R.id.login_tv_cancel) {// 取消 finish(); } else if (id == R.id.tv_forget_pwd) { startActivity(new Intent(EmailLoginActivity.this, ForgetPwdActivity.class).putExtra("listener", loginListener)); } else if (id == R.id.tv_user_agreement) { loginListener.onProtocol(EmailLoginActivity.this); } else if (id == R.id.tv_privacy_policy) { loginListener.onPrivacy(EmailLoginActivity.this); } else if (id == R.id.tv_register) { startActivity(new Intent(EmailLoginActivity.this, RegisterActivity.class).putExtra("listener", loginListener)); } else if (id == R.id.tv_login) { if (cb_user_agreement.isChecked()) emailLogin(); else SingleToast.showToast(EmailLoginActivity.this, "选择同意用户协议后方可登录"); } } /** * Email登录 */ private void emailLogin() { String name = (et_name.getText() + "").trim(); String pwd = (et_pwd.getText() + "").trim(); if (StringUtils.isEmpty(name) || StringUtils.isEmpty(pwd)) { SingleToast.showToast(this, "账号或密码为空!"); return; } loginListener.emailLogin(EmailLoginActivity.this, name, pwd, new LoginApiCallBack() { @Override public void onCallBack(LoginApiResult result) { if (result.getCode() == LoginApiResult.CODE_OK) { SingleToast.showToast(EmailLoginActivity.this, "登录成功!"); EmailLoginActivity.this.finish(); } else { SingleToast.showToast(EmailLoginActivity.this, result.getMsg()); } } @Override public void onStart() { super.onStart(); showLoading(); } @Override public void onFinish() { super.onFinish(); hideLoading(); } }); } @Override public void onResume() { super.onResume(); if (loginListener != null && loginListener.isLogin(getApplicationContext())) { finish(); } } @Override public void onPause() { super.onPause(); } /** * 锁定返回 */ private void lockBack(boolean isSure) { tv_cancel.setEnabled(!isSure); isTouchLogin = isSure; } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (isTouchLogin && keyCode == KeyEvent.KEYCODE_BACK) { return false; } return super.onKeyDown(keyCode, event); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); } }