package com.example.bpa;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.example.bpa.app.Main;
import com.example.bpa.config.ConfigName;
import com.example.bpa.db.QueryDB;
import com.example.bpa.db.mode.BPA_USER;
import com.example.bpa.helper.T;

public class LoginActivity extends Activity implements View.OnClickListener {
    //region 界面变量
    //用户名
    private EditText username, password;
    //密码
    private Button btn_login;
    //endregion

    //region 私有函数
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        Init();
        initEvents();
    }
    //endregion

    //region 公有函数
    /**
     * 初始化
     */
    private void Init() {
        username = findViewById(R.id.input_layout_name);
        password = findViewById(R.id.input_layout_psw);
        btn_login = findViewById(R.id.btn_login);
        username.setText(ConfigName.getInstance().user.account );
        password.setText(ConfigName.getInstance().user.pass );
    }
    /**
     * 初始化按钮事件
     */
    private void initEvents() {
        //设置四个Tab的点击事件
        btn_login.setOnClickListener(this);
    }

    /**
     * 登录函数
     */
    public void Login()
    {
        String inputName = username.getText().toString();
        String pwd = password.getText().toString();
        BPA_USER user= QueryDB.UserLogin(inputName,pwd);
        if (user!=null) {
            ConfigName.getInstance().user = user;
            Main.getInstance().SavePZ();//保存配置
            T.show(LoginActivity.this, "登录成功!");
            try {
                Intent intent = new Intent(LoginActivity.this, MainActivity.class);
                startActivity(intent);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        } else {
            T.show(LoginActivity.this, "用户密码错误!");
        }
    }
    //endregion

    //region 点击事件
    /**
     * 本页面点击事件监听
     *
     * @param v
     */
    @Override
    public void onClick(View v) {
        //根据点击的Tab切换不同的页面及设置对应的ImageButton为绿色
        switch (v.getId()) {
            case R.id.btn_login:
                Login();
                break;
        }
    }

    /**
     * 监听Enter事件
     * @param keyCode
     * @param event
     * @return
     */
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        boolean result = false;

        switch (keyCode) {
            case KeyEvent.KEYCODE_DPAD_CENTER:
            case KeyEvent.KEYCODE_ENTER: {
                Login();
                return true;
            }
        }
        return result;
    }

    //endregion
}