LoginActivity.java 4.12 KB
package com.huaheng.wms;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.text.InputType;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

import com.huaheng.wms.contract.LoginContract;
import com.huaheng.wms.presenter.LoginPresenter;
import com.huaheng.wms.util.Constant;
import com.huaheng.wms.util.WMSUtils;
import com.huaheng.wms.work.login.UserBean;
import com.huaheng.wms.work.login.WareHouseActivity;

import java.util.ArrayList;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;


public class LoginActivity extends Activity implements LoginContract.View {

    @BindView(R.id.userEdit)
    EditText userEdit;
    @BindView(R.id.passwordEdit)
    EditText passwordEdit;
    @BindView(R.id.loginBtn)
    Button loginBtn;
    @BindView(R.id.eyeImage)
    ImageView eyeImage;
    private Context mContext;
    private LoginPresenter loginPresenter;
    private boolean passwordType = false;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        ButterKnife.bind(this);
        mContext = this;
        loginPresenter = new LoginPresenter(this, this);
        initView();
        WMSUtils.requestAppPermission(LoginActivity.this);
    }


    private void initView() {
        String userName = WMSUtils.getData(Constant.LOGIN_NAME);
        if (userName != null) {
            userEdit.setText(userName);
            WMSUtils.requestFocus(passwordEdit);
        }
        passwordEdit.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                loginPresenter.login();
                return false;
            }
        });
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_MENU) {
            WMSUtils.startActivity(mContext, NetworkSettingActivity.class);
        }
        return super.onKeyDown(keyCode, event);
    }

    @Override
    public void shouToast(String msg) {
        WMSUtils.showShort(msg);
    }

    @Override
    public void onSuccess(ArrayList<UserBean> userBean) {
        passwordEdit.setText("");
        Intent intent = new Intent();
        intent.setClass(mContext, WareHouseActivity.class);
        Bundle bundle = new Bundle();
        bundle.putParcelableArrayList("userBean", userBean);// 序列化
        intent.putExtras(bundle);// 发送数据
        startActivity(intent);
    }


    @Override
    public void onCommon(int type) {
        if (type == Constant.USER_REQUEST_FOCUS) {
            WMSUtils.requestFocus(userEdit);
        } else if (type == Constant.PASSWORD_REQUEST_FOCUS) {
            WMSUtils.requestFocus(passwordEdit);
        } else if (type == Constant.CLEAR_PASSOWRD) {
            passwordEdit.setText("");
        }
    }

    @Override
    public String getName() {
        return userEdit.getText().toString();
    }

    @Override
    public String getPassWord() {
        return passwordEdit.getText().toString();
    }

    @OnClick({R.id.eyeImage, R.id.loginBtn})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.eyeImage:
                if (passwordType) {
                    passwordEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT);
                    passwordType = false;
                    eyeImage.setImageResource(R.mipmap.eye);
                } else {
                    passwordEdit.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
                    passwordType = true;
                    eyeImage.setImageResource(R.mipmap.eyeoff);
                }
                break;
            case R.id.loginBtn:
                loginPresenter.login();
                break;
        }
    }
}