package net.micode.notes.ui;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.app.Activity;

import net.micode.notes.R;

//LoginActivity 类继承自Activity 类，用于管理登录页面的行为
public class LoginActivity extends Activity{

    //定义EditText 成员变量用于获取用户输入的密码
    EditText lgn_password;
    //定义Button成员变量用于用户点击登录
    Button lgn_login;

    //Activity 的 onCreate()方法，在创建loginActivity 时被调用
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //获取名为 "user management" 的 SharedPreferences 对象，用于读取或存储轻量级的键值对数据
        SharedPreferences pref = getSharedPreferences("user management", MODE_PRIVATE);
        //从 SharedPreferences 对象中获取名为 "user" 的布尔值，检查用户是否设置了密码
        boolean User_boolean = pref.getBoolean("user", false); //检查用户是否设置了密码
        if (!User_boolean) {  //如果用户没有设置密码,则直接跳转到便签主界面
            Intent intent = new Intent(LoginActivity.this, NotesListActivity.class);
            startActivity(intent);
            finish(); //结束当前 Activity
        }

        //设置当前 Activity 使用的布局文件
        setContentView(R.layout.activity_login);
        //设置软键盘行为，这里设置的是在输入框获取焦点时显示软键盘并调整布局大小以适应键盘
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
        //关联变量 lgn_password 至布局文件中的 EditText 组件
        lgn_password = (EditText)findViewById(R.id.lgn_password);
        //关联变量lgn_login 至布局文件中的 Button 组件
        lgn_login = (Button) findViewById(R.id.login);
        //设置登录按钮的点击监听器
        lgn_login.setOnClickListener(new View.OnClickListener() {
                                         @Override
                                         public void onClick(View v) {
                                             //再次或者SharedPreferences 对象
                                             SharedPreferences pref = getSharedPreferences("user management", MODE_PRIVATE);
                                             //获取 SharedPreferences 中存储的密码字符串，若不存在则返回空字符串
                                             String password = pref.getString("password", "");
                                             //比较存储的密码和用户输入的密码是否相同
                                             if (password.equals(" ") == false && password.equals(lgn_password.getText().toString()) == true) {
                                                 //如果密码匹配，跳转至便签列表界面
                                                 Intent intent = new Intent(LoginActivity.this, NotesListActivity.class);
                                                 startActivity(intent);
                                                 finish(); //结束当前 Activity
                                             } else {
                                                 //如果密码不匹配，显示 Toast 提醒用户密码错误，并清空密码输入框
                                                 Toast.makeText(LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show();
                                                 lgn_password.setText(""); //清空密码框内的输入
                                             }

                                         }
                                     }
        );
    }
}


