package com.basic.security.fragment;
|
|
import android.os.Bundle;
|
import android.os.SystemClock;
|
import android.text.TextUtils;
|
import android.view.KeyEvent;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.EditText;
|
import android.widget.TextView;
|
|
import com.basic.security.base.BaseApplication;
|
import com.basic.security.base.BaseFragment;
|
import com.basic.security.manager.BaseSettingManager;
|
import com.basic.security.manager.UserManager;
|
import com.basic.security.model.ModelAdapter;
|
import com.basic.security.utils.Constants;
|
import com.basic.security.utils.KeyboardUtil;
|
import com.basic.security.utils.ResolutionAdaptation;
|
import com.basic.security.utils.ToastUtil;
|
|
import org.androidannotations.annotations.AfterViews;
|
import org.androidannotations.annotations.Click;
|
import org.androidannotations.annotations.EFragment;
|
import org.androidannotations.annotations.TextChange;
|
import org.androidannotations.annotations.UiThread;
|
import org.androidannotations.annotations.ViewById;
|
|
@EFragment
|
public class AdminPasswordLoginFragment extends BaseFragment {
|
@ViewById
|
EditText account, password;
|
private long lastClickTime = 0;
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
return inflater.inflate(ResolutionAdaptation.fragment_admin_password_login(), container, false);
|
}
|
|
@AfterViews
|
public void afterViews() {
|
password.setOnKeyListener((v, keyCode, event) -> {
|
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
|
(keyCode == KeyEvent.KEYCODE_ENTER)) {
|
login();
|
return true;
|
}
|
return false;
|
});
|
}
|
|
@TextChange({com.basic.security.utils.RUtils.R_id_account, com.basic.security.utils.RUtils.R_id_password})
|
void onTextChangesOnSomeTextViews(TextView tv, CharSequence text) {
|
mainActivity().refreshCurrentFragmentShowTime();
|
}
|
|
@Click
|
public void face_login() {
|
long currentTime = System.currentTimeMillis();
|
if (currentTime - lastClickTime < MIN_CLICK_DELAY_TIME) {
|
return;
|
}
|
lastClickTime = System.currentTimeMillis();
|
KeyboardUtil.hideSoftKeyboard();
|
waitSoftHide(null);
|
}
|
|
@Click
|
public void login() {
|
KeyboardUtil.hideSoftKeyboard();
|
if (TextUtils.isEmpty(account.getText().toString().trim())) {
|
ToastUtil.show("请输入用户名");
|
return;
|
}
|
if (TextUtils.isEmpty(password.getText().toString().trim())) {
|
ToastUtil.show("请输入密码");
|
return;
|
}
|
UserManager.loginPerson = null;
|
ModelAdapter user = null;
|
if ("basic".equals(account.getText().toString()) && "basic123".equals(password.getText().toString())) {
|
UserManager.setIsBasic(true);
|
user = UserManager.getUserByName(account.getText().toString());
|
} else {
|
UserManager.setIsBasic(false);
|
user = UserManager.getUser(account.getText().toString().trim(), password.getText().toString().trim());
|
}
|
if (user == null) {
|
ToastUtil.show("用户名或密码错误,请重新输入");
|
password.setText("");
|
} else {
|
waitSoftHide(user);
|
}
|
}
|
|
void waitSoftHide(ModelAdapter adminAccount) {
|
BaseApplication.getApplication().executorService.execute(() -> {
|
SystemClock.sleep(300);
|
waitSoftHideUIThread(adminAccount);
|
});
|
}
|
|
@UiThread
|
void waitSoftHideUIThread(ModelAdapter adminAccount) {
|
try {
|
SystemClock.sleep(200);
|
if (adminAccount == null) {
|
mainActivity().showFragment(mainActivity().fragment_admin_face_login);
|
} else {
|
UserManager.setAdminUser(adminAccount);
|
if (Constants.indoorOutdoorInOne) {
|
if (BaseSettingManager.isGuestMode()) {
|
mainActivity().fragment_toolbar.visitor_model();
|
} else {
|
mainActivity.fragment_toolbar.person_manage();
|
}
|
} else {
|
mainActivity().fragment_menu.person_add();
|
}
|
ToastUtil.show("管理员登入成功!");
|
mainActivity.fragment_toolbar.toggleGuestModeButton();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
@UiThread
|
public void show() {
|
super.show();
|
if (mainActivity().fragment_toolbar.welcome != null) {
|
mainActivity().fragment_toolbar.welcome.setVisibility(View.VISIBLE);
|
}
|
if (Constants.indoorOutdoorInOne) {
|
account.setText("");
|
password.setText("");
|
}
|
if (Constants.isOutdoor) {
|
account.setText("admin");
|
password.setText("admin123");
|
}
|
account.requestFocus();
|
KeyboardUtil.showKeyboard();
|
}
|
|
@Override
|
public void hide() {
|
super.hide();
|
try {
|
if (mainActivity().fragment_toolbar.welcome != null) {
|
mainActivity().fragment_toolbar.welcome.setVisibility(View.GONE);
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|