package com.yuyh.sprintnba.ui;
import android.app.Activity;
import android.content.Intent;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.text.Editable;
import android.text.TextWatcher;
import com.flyco.animation.BounceEnter.BounceTopEnter;
import com.flyco.animation.SlideExit.SlideBottomExit;
import com.flyco.dialog.listener.OnBtnClickL;
import com.flyco.dialog.widget.NormalDialog;
import com.yuyh.sprintnba.R;
import com.yuyh.sprintnba.base.BaseSwipeBackCompatActivity;
import com.yuyh.sprintnba.ui.presenter.impl.LoginPresenterImpl;
import com.yuyh.sprintnba.ui.view.LoginView;
import com.yuyh.sprintnba.utils.SettingPrefUtils;
import com.yuyh.library.utils.toast.ToastUtils;
import butterknife.InjectView;
import butterknife.OnClick;
public class LoginActivity extends BaseSwipeBackCompatActivity implements LoginView {
@InjectView(R.id.etUsername)
TextInputEditText etUsername;
@InjectView(R.id.etPassword)
TextInputEditText etPassword;
@InjectView(R.id.textInputUserName)
TextInputLayout textInputUserName;
@InjectView(R.id.textInputPassword)
TextInputLayout textInputPassword;
private LoginPresenterImpl presenter;
private NormalDialog dialog;
@Override
protected int getContentViewLayoutID() {
return R.layout.activity_login;
}
@Override
protected void initViewsAndEvents() {
setTitle("登录");
etUsername.addTextChangedListener(new MTextWatcher(textInputUserName));
etPassword.addTextChangedListener(new MTextWatcher(textInputPassword));
presenter = new LoginPresenterImpl(this, this);
etUsername.setText(SettingPrefUtils.getUsername());
etPassword.setText(SettingPrefUtils.getPassword());
}
@OnClick(R.id.btnLogin)
public void login() {
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
presenter.login(username, password);
}
@OnClick(R.id.btnRegist)
public void register() {
dialog = new NormalDialog(this).isTitleShow(false)
.content("暂不支持虎扑账号注册,您可先到虎扑官网注册。期待后续版本更新~")
.showAnim(new BounceTopEnter()).dismissAnim(new SlideBottomExit())
.btnNum(1).btnText("确定");
dialog.setOnBtnClickL(new OnBtnClickL() {
@Override
public void onBtnClick() {
dialog.dismiss();
}
});
dialog.show();
}
@Override
public void showLoading() {
showLoadingDialog();
}
@Override
public void hideLoading() {
hideLoadingDialog();
}
@Override
public void showUserNameError(String error) {
etUsername.setError(error);
}
@Override
public void showPassWordError(String error) {
etPassword.setError(error);
}
@Override
public void loginSuccess() {
ToastUtils.showSingleToast("登录成功");
Intent intent = new Intent();
setResult(Activity.RESULT_OK, intent);
finish();
}
class MTextWatcher implements TextWatcher {
TextInputLayout textInputLayout;
public MTextWatcher(TextInputLayout textInputLayout) {
this.textInputLayout = textInputLayout;
}
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
textInputLayout.setErrorEnabled(false);
}
}
}