// Path: app/src/main/java/com/kejiwen/architecture/constant/Constants.java
// public class Constants {
// 
//     public static final String KEY_LOGIN_USER_NAME = "key_login_user_name";
//     public static final String KEY_LOGIN_PASSWORD = "key_login_password";
//     public static final String KEY_LOGIN_USER_NAME_VALUE = "key_login_user_name_value";
//     public static final String KEY_LOGIN_PASSWORD_VALUE = "key_login_password_value";
// }
// 
// Path: app/src/main/java/com/kejiwen/architecture/constant/FeatureConfig.java
// public class FeatureConfig {
// 
//     // Global control on debug log
//     public static final boolean DEBUG_LOG = true;
// 
//     // Switch for online server
//     public static final boolean ONLINE_SERVER = true;
// 
//     public static final String OFFLINE_SERVER_URL = "http://p.api.tongbaotu.test/";
//     public static final String ONLINE_SERVER_URL = "http://api2.tongbaotu.com/";
// 
//     public static final String API_HOST_NAME = ONLINE_SERVER ? ONLINE_SERVER_URL : OFFLINE_SERVER_URL;
// }
// 
// Path: app/src/main/java/com/kejiwen/architecture/utils/SharePreferenceUtils.java
// public class SharePreferenceUtils {
// 
//     public static void setLongPref(Context context, String key,
//             Long value) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().putLong(key, value).commit();
//     }
// 
//     public static long getLongPref(Context context, String key,
//             long defaultValue) {
//         return PreferenceManager.getDefaultSharedPreferences(
//                 context).getLong(key, defaultValue);
//     }
// 
//     public static void setIntPref(Context context, String key,
//             int value) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().putInt(key, value).commit();
//     }
// 
//     public static int getIntPref(Context context, String key,
//             int defaultValue) {
//         return PreferenceManager.getDefaultSharedPreferences(
//                 context).getInt(key, defaultValue);
//     }
// 
//     public static void setStringPref(Context context, String key,
//             String value) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().putString(key, value).commit();
//     }
// 
//     public static String getStringPref(Context context, String key,
//             String defaultValue) {
//         return PreferenceManager.getDefaultSharedPreferences(
//                 context).getString(key, defaultValue);
//     }
// 
//     public static boolean getBooleanPref(Context context,
//             String key, boolean defaultValue) {
//         return PreferenceManager.getDefaultSharedPreferences(
//                 context).getBoolean(key, defaultValue);
//     }
// 
//     public static void setBooleanPref(Context context, String key,
//             boolean value) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().putBoolean(key, value).commit();
//     }
// 
//     public static void removePref(Context context, String key) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().remove(key).commit();
//     }
// 
//     public static void setStringSecPref(Context context, String key,
//             String value) {
//         SecurePreferences preferences = SecurePreferences.getInstance(context, true);
//         preferences.put(key, value);
//     }
// 
//     public static String getStringSecPref(Context context, String key,
//             String defaultValue) {
//         SecurePreferences preferences = SecurePreferences.getInstance(context, true);
//         return preferences.getString(key);
//     }
// }


import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.kejiwen.architecture.R;
import com.kejiwen.architecture.constant.Constants;
import com.kejiwen.architecture.constant.FeatureConfig;
import com.kejiwen.architecture.utils.SharePreferenceUtils;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        setContentView(R.layout.login);
        super.onCreate(savedInstanceState);
        initView();
        initData();
    }

    private void initView() {
        mTitleBar.setTitle("登录");
        mUserName = (EditText) findViewById(R.id.login_name);
        mPassword = (EditText) findViewById(R.id.login_password);
        mForgetPassword = (TextView) findViewById(R.id.login_forget_password);
        mForgetPassword.setOnClickListener(this);
        mLoginBtn = (Button) findViewById(R.id.login_btn);
        mLoginBtn.setOnClickListener(this);
    }

    @Override
    protected int getTitleBarRes() {
        return R.id.titlebar;
    }

    private void initData() {
        String name = SharePreferenceUtils.getStringSecPref(this, Constants.KEY_LOGIN_USER_NAME, "");
        mUserName.setText(name);
        if (!TextUtils.isEmpty(name)) {
            mUserName.setSelection(name.length());
            mPassword.requestFocus();
        }
// Path: app/src/main/java/com/kejiwen/architecture/constant/Constants.java
// public class Constants {
// 
//     public static final String KEY_LOGIN_USER_NAME = "key_login_user_name";
//     public static final String KEY_LOGIN_PASSWORD = "key_login_password";
//     public static final String KEY_LOGIN_USER_NAME_VALUE = "key_login_user_name_value";
//     public static final String KEY_LOGIN_PASSWORD_VALUE = "key_login_password_value";
// }
// 
// Path: app/src/main/java/com/kejiwen/architecture/constant/FeatureConfig.java
// public class FeatureConfig {
// 
//     // Global control on debug log
//     public static final boolean DEBUG_LOG = true;
// 
//     // Switch for online server
//     public static final boolean ONLINE_SERVER = true;
// 
//     public static final String OFFLINE_SERVER_URL = "http://p.api.tongbaotu.test/";
//     public static final String ONLINE_SERVER_URL = "http://api2.tongbaotu.com/";
// 
//     public static final String API_HOST_NAME = ONLINE_SERVER ? ONLINE_SERVER_URL : OFFLINE_SERVER_URL;
// }
// 
// Path: app/src/main/java/com/kejiwen/architecture/utils/SharePreferenceUtils.java
// public class SharePreferenceUtils {
// 
//     public static void setLongPref(Context context, String key,
//             Long value) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().putLong(key, value).commit();
//     }
// 
//     public static long getLongPref(Context context, String key,
//             long defaultValue) {
//         return PreferenceManager.getDefaultSharedPreferences(
//                 context).getLong(key, defaultValue);
//     }
// 
//     public static void setIntPref(Context context, String key,
//             int value) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().putInt(key, value).commit();
//     }
// 
//     public static int getIntPref(Context context, String key,
//             int defaultValue) {
//         return PreferenceManager.getDefaultSharedPreferences(
//                 context).getInt(key, defaultValue);
//     }
// 
//     public static void setStringPref(Context context, String key,
//             String value) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().putString(key, value).commit();
//     }
// 
//     public static String getStringPref(Context context, String key,
//             String defaultValue) {
//         return PreferenceManager.getDefaultSharedPreferences(
//                 context).getString(key, defaultValue);
//     }
// 
//     public static boolean getBooleanPref(Context context,
//             String key, boolean defaultValue) {
//         return PreferenceManager.getDefaultSharedPreferences(
//                 context).getBoolean(key, defaultValue);
//     }
// 
//     public static void setBooleanPref(Context context, String key,
//             boolean value) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().putBoolean(key, value).commit();
//     }
// 
//     public static void removePref(Context context, String key) {
//         PreferenceManager.getDefaultSharedPreferences(context)
//                 .edit().remove(key).commit();
//     }
// 
//     public static void setStringSecPref(Context context, String key,
//             String value) {
//         SecurePreferences preferences = SecurePreferences.getInstance(context, true);
//         preferences.put(key, value);
//     }
// 
//     public static String getStringSecPref(Context context, String key,
//             String defaultValue) {
//         SecurePreferences preferences = SecurePreferences.getInstance(context, true);
//         return preferences.getString(key);
//     }
// }


// Path: app/src/main/java/com/kejiwen/architecture/activity/LoginActivity.java
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.kejiwen.architecture.R;
import com.kejiwen.architecture.constant.Constants;
import com.kejiwen.architecture.constant.FeatureConfig;
import com.kejiwen.architecture.utils.SharePreferenceUtils;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        setContentView(R.layout.login);
        super.onCreate(savedInstanceState);
        initView();
        initData();
    }

    private void initView() {
        mTitleBar.setTitle("登录");
        mUserName = (EditText) findViewById(R.id.login_name);
        mPassword = (EditText) findViewById(R.id.login_password);
        mForgetPassword = (TextView) findViewById(R.id.login_forget_password);
        mForgetPassword.setOnClickListener(this);
        mLoginBtn = (Button) findViewById(R.id.login_btn);
        mLoginBtn.setOnClickListener(this);
    }

    @Override
    protected int getTitleBarRes() {
        return R.id.titlebar;
    }

    private void initData() {
        String name = SharePreferenceUtils.getStringSecPref(this, Constants.KEY_LOGIN_USER_NAME, "");
        mUserName.setText(name);
        if (!TextUtils.isEmpty(name)) {
            mUserName.setSelection(name.length());
            mPassword.requestFocus();
        }
        if (FeatureConfig.DEBUG_LOG) {