package com.basic.security.fragment;
|
|
import android.content.Intent;
|
import android.text.InputType;
|
import android.text.TextUtils;
|
import android.text.method.PasswordTransformationMethod;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.AdapterView;
|
import android.widget.ArrayAdapter;
|
import android.widget.BaseAdapter;
|
import android.widget.CheckBox;
|
import android.widget.CompoundButton;
|
import android.widget.EditText;
|
import android.widget.LinearLayout;
|
import android.widget.ListView;
|
import android.widget.RadioButton;
|
import android.widget.RelativeLayout;
|
import android.widget.Spinner;
|
import android.widget.TextView;
|
|
import com.basic.security.R;
|
import com.basic.security.base.BaseApplication;
|
import com.basic.security.base.BaseFragment;
|
import com.basic.security.manager.BaseSettingManager;
|
import com.basic.security.manager.OfficeDeviceManager;
|
import com.basic.security.model.ModelAdapter;
|
import com.basic.security.model.OfficeDevice;
|
import com.basic.security.utils.BaseSetting;
|
import com.basic.security.utils.ButtonClickIntervalsUtils;
|
import com.basic.security.utils.Constants;
|
import com.basic.security.utils.ToastUtil;
|
import com.basic.security.widget.ConfirmDialog;
|
import com.basic.security.widget.CustomSpinner;
|
|
import org.androidannotations.annotations.AfterViews;
|
import org.androidannotations.annotations.Click;
|
import org.androidannotations.annotations.EFragment;
|
import org.androidannotations.annotations.UiThread;
|
import org.androidannotations.annotations.ViewById;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
@EFragment(R.layout.fragment_base_setting)
|
public class BaseSettingFragment extends BaseFragment {
|
|
@ViewById
|
public RadioButton setting_register_rb_admin, setting_register_rb_self;
|
@ViewById
|
public CheckBox setting_register_admin_ck_phone, setting_register_admin_ck_id, setting_register_admin_ck_name,
|
setting_register_admin_ck_phoneN;
|
@ViewById
|
public CheckBox setting_register_normal_ck_phone, setting_register_normal_ck_id,
|
setting_register_normal_ck_name, setting_register_normal_ck_phoneN;
|
@ViewById
|
public CheckBox setting_register_ck_image_play, setting_register_ck_detect_multiple_face;
|
@ViewById
|
public EditText setting_register_admin_et_time, setting_no_operation_et_time, setting_face_et_pro_one,
|
setting_face_et_pro_two, setting_face_et_angle, setting_register_et_image_play, open_door_duration_et;
|
public boolean initRegisterRuleSpinner = false;
|
@ViewById
|
public CheckBox open_door_password_enable;
|
@ViewById
|
public EditText open_door_password;
|
@ViewById
|
public CheckBox normally_closed;
|
@ViewById
|
public CheckBox reboot_hour_enable;
|
@ViewById
|
public CustomSpinner reboot_hour;
|
public String[] reboot_hour_array = new String[]{
|
"0", "1",
|
"2", "3",
|
"4", "5",
|
"6", "7",
|
"8", "9",
|
"10", "11",
|
"12", "13",
|
"14", "15",
|
"16", "17",
|
"18", "19",
|
"20", "21",
|
"22", "23"
|
};
|
//管理员授权注册
|
@ViewById
|
RadioButton setting_register_admin_rb_common_verify, setting_register_admin_rb_id_verify;
|
//自助注册
|
@ViewById
|
RadioButton setting_register_normal_rb_common_verify, setting_register_normal_rb_id_verify;
|
//自助注册显示 其中auto_sign_up_identity的不可见模式为invisible 占位隐藏
|
@ViewById
|
View auto_sign_up_identity, ll_register_self;
|
//管理员授权注册显示
|
@ViewById
|
View setting_ll_admin;
|
@ViewById
|
View /*show_identity_list,*/ list_view;
|
@ViewById
|
ListView identityRecycleList;
|
//新增开始
|
@ViewById
|
RadioButton setting_register_rb_pass, setting_register_rb_visitor;
|
@ViewById
|
RelativeLayout setting_rl_pass_visitor_model;
|
@ViewById
|
LinearLayout ll_confirm_pass_show;
|
@ViewById
|
CheckBox ck_relation_person, ck_relation_device;
|
@ViewById
|
EditText et_device_name, et_server_name, et_no_face_delay, et_picture_rotation_angle;
|
@ViewById
|
Spinner spinner, spinner_check_identity;
|
@ViewById
|
TextView setting_tv_massage;
|
@ViewById
|
ListView office_device_list;
|
String[] arr = {"允许通行"
|
// , "有效时间内通行", "确认通行", "拒绝通行"
|
};
|
|
// 新增结束
|
// private List<ModelAdapter> PersonIdentity = new ArrayList<>();
|
|
// private RegisterRuleAdapter adapter;
|
// private String identityName = "";
|
// private String identityId = "";
|
private List<ModelAdapter> officeDeviceList = new ArrayList<>();
|
private OfficeDeviceListAdapter officeDeviceListAdapter;
|
private String device_setting = "确认通行";
|
|
@Click
|
void list_view() {
|
list_view.setVisibility(View.GONE);
|
}
|
|
@Click
|
public void normally_closed() {
|
ModelAdapter baseSetting = BaseSettingManager.getBaseSetting();
|
baseSetting.setString(com.basic.security.model.BaseSetting.normally_closed, normally_closed.isChecked() ? Constants.TRUE : Constants.FALSE);
|
BaseSettingManager.save(baseSetting);
|
}
|
|
@Click
|
public void setting_btn_save() {
|
System.out.println("BaseSettingFragment.setting_btn_save");
|
if (!ButtonClickIntervalsUtils.isCanClick()) {
|
return;
|
}
|
|
try {
|
int et_time = Integer.parseInt(setting_register_admin_et_time.getText().toString().trim());
|
if (et_time <= 0) {
|
ToastUtil.show("管理员超时时间必须大于0");
|
return;
|
}
|
int return_time = Integer.parseInt(setting_no_operation_et_time.getText().toString().trim());
|
if (return_time <= 0) {
|
ToastUtil.show("无操作返回时间必须大于0");
|
return;
|
}
|
int open_door_duration = Integer.parseInt(open_door_duration_et.getText().toString().trim());
|
if (open_door_duration <= 0) {
|
ToastUtil.show("无操作返回时间必须大于0");
|
return;
|
}
|
int pic_time = Integer.parseInt(setting_register_et_image_play.getText().toString().trim());
|
if (pic_time <= 0) {
|
ToastUtil.show("图片轮播时间必须大于0");
|
return;
|
}
|
|
int one = Integer.parseInt(setting_face_et_pro_one.getText().toString().trim());
|
int two = Integer.parseInt(setting_face_et_pro_two.getText().toString().trim());
|
if (one <= 0 || two <= 0) {
|
ToastUtil.show("占屏比数值必须大于0");
|
return;
|
}
|
if (one >= two) {
|
ToastUtil.show("占屏比必须小于1");
|
return;
|
}
|
if ((float) (two / one) > 5) {
|
ToastUtil.show("占屏比不能小于0.2");
|
return;
|
}
|
int angle = Integer.parseInt(setting_face_et_angle.getText().toString().trim());
|
if (angle < 0 || angle > 30) {
|
ToastUtil.show("人脸角度必须在0到30度之间");
|
return;
|
}
|
if (TextUtils.isEmpty(et_no_face_delay.getText().toString().trim())) {
|
ToastUtil.show("请输入无人脸延时");
|
return;
|
}
|
if (TextUtils.isEmpty(et_picture_rotation_angle.getText().toString().trim())) {
|
ToastUtil.show("请输入设备照片旋转角度");
|
return;
|
}
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
ToastUtil.show("数据有误,请重新输入");
|
}
|
|
BaseSetting baseSetting = new BaseSetting();//值:1(选中), 0(位选中)
|
|
if (setting_register_rb_self.isChecked()) {// 自助注册
|
baseSetting.auto_mode = "1";
|
if (!setting_register_normal_rb_common_verify.isChecked() && !setting_register_normal_rb_id_verify.isChecked()) {
|
ToastUtil.show("请选择一种验证方式");
|
return;
|
}
|
baseSetting.auto_normal_verify = setting_register_normal_rb_common_verify.isChecked() ? "1" : "0";
|
baseSetting.auto_normal_verify_phone = setting_register_normal_ck_phone.isChecked() ? "1" : "0";
|
baseSetting.auto_normal_verify_idcard = setting_register_normal_ck_id.isChecked() ? "1" : "0";
|
baseSetting.auto_normal_verify_name = setting_register_normal_ck_name.isChecked() ? "1" : "0";
|
baseSetting.auto_idcard_verify = setting_register_normal_rb_id_verify.isChecked() ? "1" : "0";
|
baseSetting.auto_idcard_verify_phone = setting_register_normal_ck_phoneN.isChecked() ? "1" : "0";
|
|
if (arr[1].equals(arr[spinner_check_identity.getSelectedItemPosition()])) {
|
String checkedTimeRuleId = FaceDetailTimeFragment.checkedTimeRuleId;
|
if (TextUtils.isEmpty(checkedTimeRuleId)) {
|
ToastUtil.show("请选择时间规则");
|
return;
|
}
|
baseSetting.auto_checked_time_rule_id = checkedTimeRuleId;
|
}
|
baseSetting.auto_register_rule = arr[spinner_check_identity.getSelectedItemPosition()];
|
|
} else {
|
baseSetting.auto_mode = "0";
|
}
|
|
if (setting_register_rb_admin.isChecked()) { // 管理员注册
|
baseSetting.admin_mode = "1";
|
if (!setting_register_admin_rb_common_verify.isChecked() && !setting_register_admin_rb_id_verify.isChecked()) {
|
ToastUtil.show("请选择一种验证方式");
|
return;
|
}
|
baseSetting.admin_normal_verify = setting_register_admin_rb_common_verify.isChecked() ? "1" : "0";
|
baseSetting.admin_normal_verify_phone = setting_register_admin_ck_phone.isChecked() ? "1" : "0";
|
baseSetting.admin_normal_verify_idcard = setting_register_admin_ck_id.isChecked() ? "1" : "0";
|
baseSetting.admin_normal_verify_name = setting_register_admin_ck_name.isChecked() ? "1" : "0";
|
baseSetting.admin_idcard_verify = setting_register_admin_rb_id_verify.isChecked() ? "1" : "0";
|
baseSetting.admin_idcard_verify_phone = setting_register_admin_ck_phoneN.isChecked() ? "1" : "0";
|
} else {
|
baseSetting.admin_mode = "0";
|
}
|
|
if (setting_register_rb_pass.isChecked()) { // 通行模式
|
baseSetting.pass_mode = "1";
|
} else {
|
baseSetting.pass_mode = "0";
|
}
|
|
if (setting_register_rb_visitor.isChecked()) { // 访客模式
|
baseSetting.visitor_mode = "1";
|
} else {
|
baseSetting.visitor_mode = "0";
|
}
|
// 选择设备配置
|
baseSetting.device_setting = device_setting;
|
if ("确认通行".equals(device_setting)) {
|
if (ck_relation_person.isChecked()) {
|
baseSetting.relation_person = "1";
|
} else {
|
baseSetting.relation_person = "0";
|
}
|
|
if (ck_relation_device.isChecked()) {
|
baseSetting.relation_device = "1";
|
} else {
|
baseSetting.relation_device = "0";
|
}
|
if (TextUtils.isEmpty(et_device_name.getText().toString().trim())
|
|| TextUtils.isEmpty(et_server_name.getText().toString().trim())) {
|
// ToastUtil.show("请输入确认设备信息");
|
// return;
|
}
|
baseSetting.device_name_ip = et_device_name.getText().toString().trim();
|
baseSetting.server_name_ip = et_server_name.getText().toString().trim();
|
}
|
|
|
baseSetting.reboot_hour_enable = reboot_hour_enable.isChecked() ? Constants.TRUE : Constants.FALSE;
|
baseSetting.reboot_hour = reboot_hour_array[reboot_hour.getSelectedItemPosition()];
|
|
baseSetting.open_door_password_enable = open_door_password_enable.isChecked() ? Constants.TRUE : Constants.FALSE;
|
baseSetting.open_door_password = open_door_password.getText().toString().trim();
|
if (baseSetting.open_door_password_enable.equals(Constants.TRUE) && TextUtils.isEmpty(baseSetting.open_door_password)) {
|
ToastUtil.show("开门密码不能为空");
|
return;
|
}
|
baseSetting.login_expire_long = setting_register_admin_et_time.getText().toString().trim();
|
baseSetting.back_to_home = setting_no_operation_et_time.getText().toString().trim();
|
baseSetting.open_door_duration = open_door_duration_et.getText().toString().trim();
|
String face_one = setting_face_et_pro_one.getText().toString().trim();
|
String face_two = setting_face_et_pro_two.getText().toString().trim();
|
baseSetting.face_ratio = face_one + "/" + face_two;
|
baseSetting.face_angle = setting_face_et_angle.getText().toString().trim();
|
baseSetting.image_play_interval = setting_register_ck_image_play.isChecked() ? "1" : "0";
|
baseSetting.image_play_time = setting_register_et_image_play.getText().toString().trim();
|
baseSetting.detect_multiple_face = setting_register_ck_detect_multiple_face.isChecked() ? "1" : "0";
|
baseSetting.auto_normal_verify_name = setting_register_normal_ck_name.isChecked() ? "1" : "0";
|
baseSetting.auto_idcard_verify = setting_register_normal_rb_id_verify.isChecked() ? "1" : "0";
|
// baseSetting.auto_idcard_verify_phone = setting_register_normal_ck_phoneN.isChecked() ? "1" : "0";
|
baseSetting.auto_normal_verify_phone = setting_register_normal_ck_phone.isChecked() ? "1" : "0";
|
baseSetting.auto_normal_verify_idcard = setting_register_normal_ck_id.isChecked() ? "1" : "0";
|
|
baseSetting.no_face_delay = et_no_face_delay.getText().toString().trim();
|
baseSetting.picture_rotation_angle = et_picture_rotation_angle.getText().toString().trim();
|
|
BaseSettingManager.saveBaseSetting(baseSetting);
|
OfficeDeviceManager.saveOfficeDeviceList(officeDeviceList);
|
|
// mainActivity().fragment_menu.person_manage();
|
ToastUtil.show("保存成功");
|
}
|
|
@AfterViews
|
public void afterViews() {
|
open_door_password.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
|
open_door_password.setTransformationMethod(new NumericKeyBoardTransformationMethod());
|
// 数据的回显
|
spinner_check_identity.setEnabled(false);
|
spinner.setEnabled(false);
|
verifyListener();
|
registerModelListener();
|
// for (int i = 0; i < 10; i++) {
|
// ModelAdapter officeDevice = new ModelAdapter();
|
// officeDevice.setString(OfficeDevice.deviceIp, "192.168.1.149");
|
// officeDeviceList.add(officeDevice);
|
// }
|
office_device_list.addHeaderView(View.inflate(getContext(), R.layout.office_device_head, null));
|
officeDeviceListAdapter = new OfficeDeviceListAdapter();
|
office_device_list.setAdapter(officeDeviceListAdapter);
|
}
|
|
private void aboutCheckRegisterRule(ModelAdapter baseSetting) {
|
initRegisterRuleSpinner = true;
|
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), R.layout.spinner_item, arr);
|
spinner_check_identity.setPopupBackgroundResource(R.color.press_menu_text);
|
spinner_check_identity.setAdapter(adapter);
|
spinner_check_identity.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
@Override
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
if (position == 1 && !initRegisterRuleSpinner) {
|
mainActivity().fragment_face_detail_time.checkPassTime(baseSetting.getString("auto_checked_time_rule_id"));
|
}
|
initRegisterRuleSpinner = false;
|
|
}
|
|
@Override
|
public void onNothingSelected(AdapterView<?> parent) {
|
|
}
|
});
|
if (baseSetting != null) {
|
String signUpRule = baseSetting.getString("auto_register_rule");
|
if (!TextUtils.isEmpty(signUpRule)) {
|
for (int i = 0; i < arr.length; i++) {
|
String item = arr[i];
|
if (item.equals(signUpRule)) {
|
spinner_check_identity.setSelection(i);
|
break;
|
}
|
}
|
}
|
}
|
}
|
|
private void aboutPassSpinner(ModelAdapter baseSetting) {
|
String[] arr = {"确认通行"
|
// , "允许通行"
|
};
|
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), R.layout.spinner_item, arr);
|
spinner.setPopupBackgroundResource(R.color.press_menu_text);
|
spinner.setAdapter(adapter);
|
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
@Override
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
device_setting = arr[position];
|
if (position == 0) {
|
// ll_confirm_pass_show.setVisibility(View.VISIBLE);
|
} else {
|
ll_confirm_pass_show.setVisibility(View.GONE);
|
}
|
}
|
|
@Override
|
public void onNothingSelected(AdapterView<?> parent) {
|
|
}
|
});
|
if (baseSetting != null) {
|
String device_setting = baseSetting.getString("device_setting");
|
if (!TextUtils.isEmpty(device_setting)) {
|
for (int i = 0; i < arr.length; i++) {
|
String item = arr[i];
|
if (item.equals(device_setting)) {
|
spinner.setSelection(i);
|
break;
|
}
|
}
|
}
|
}
|
|
}
|
|
@Override
|
// @Background
|
public void hide() {
|
super.hide();
|
// setting_btn_save();
|
}
|
|
@Override
|
public void show() {
|
super.show();
|
ModelAdapter baseSetting = BaseSettingManager.getBaseSetting();
|
setBaseSetting(baseSetting);
|
aboutCheckRegisterRule(baseSetting);
|
aboutPassSpinner(baseSetting);
|
init_reboot_hour(baseSetting);
|
// adapter.notifyDataSetChanged();
|
list_view.setVisibility(View.GONE);
|
officeDeviceListAdapter.notifyDataSetChanged();
|
loadDataFromDb();
|
|
}
|
|
private void init_reboot_hour(ModelAdapter baseSetting) {
|
initRegisterRuleSpinner = true;
|
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), R.layout.spinner_item, reboot_hour_array);
|
reboot_hour.setPopupBackgroundResource(R.color.press_menu_text);
|
reboot_hour.setAdapter(adapter);
|
if (baseSetting != null) {
|
String reboot_hour_str = baseSetting.getString("reboot_hour");
|
if (!TextUtils.isEmpty(reboot_hour_str)) {
|
for (int i = 0; i < reboot_hour_array.length; i++) {
|
String item = reboot_hour_array[i];
|
if (item.equals(reboot_hour_str)) {
|
reboot_hour.setSelection(i);
|
break;
|
}
|
}
|
}
|
}
|
}
|
|
public void loadDataFromDb() {
|
BaseApplication.getApplication().executorService.execute(() -> {
|
officeDeviceList = OfficeDeviceManager.findOfficeDeviceList();
|
showDataInUi();
|
});
|
}
|
|
@UiThread
|
public void showDataInUi() {
|
officeDeviceListAdapter.notifyDataSetChanged();
|
}
|
|
|
/**
|
* 监听注册模式
|
*/
|
private void registerModelListener() {
|
|
setting_register_rb_admin.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
if (setting_register_rb_admin.isChecked()) {
|
setting_ll_admin.setVisibility(View.VISIBLE);
|
ll_register_self.setVisibility(View.VISIBLE);
|
setting_rl_pass_visitor_model.setVisibility(View.GONE);
|
|
adminRegisterIsCheck(false);
|
if (setting_register_admin_rb_common_verify.isChecked()) {
|
isShowTop(true);
|
}
|
auto_sign_up_identity.setVisibility(View.GONE);
|
} else {
|
ll_register_self.setVisibility(View.GONE);
|
}
|
/*else {
|
adminRegisterIsCheck(false);
|
}*/
|
}
|
});
|
|
setting_register_rb_self.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
if (setting_register_rb_self.isChecked()) {
|
|
setting_ll_admin.setVisibility(View.GONE);
|
// ll_register_self.setVisibility(View.VISIBLE);
|
setting_rl_pass_visitor_model.setVisibility(View.GONE);
|
adminRegisterIsCheck(false);
|
} /*else {
|
adminRegisterIsCheck(true);
|
}*/
|
}
|
});
|
|
setting_register_rb_pass.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
if (setting_register_rb_pass.isChecked()) {
|
setting_tv_massage.setText("提示:通行模式下,不允许进行注册,此设备只做通行");
|
ll_register_self.setVisibility(View.GONE);
|
setting_ll_admin.setVisibility(View.GONE);
|
setting_rl_pass_visitor_model.setVisibility(View.VISIBLE);
|
auto_sign_up_identity.setVisibility(View.GONE);
|
|
}
|
}
|
});
|
|
setting_register_rb_visitor.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
if (setting_register_rb_visitor.isChecked()) {
|
setting_tv_massage.setText("提示:访客模式下,可以对关联设备做访客登记");
|
ll_register_self.setVisibility(View.GONE);
|
setting_ll_admin.setVisibility(View.GONE);
|
setting_rl_pass_visitor_model.setVisibility(View.VISIBLE);
|
auto_sign_up_identity.setVisibility(View.GONE);
|
|
}
|
}
|
});
|
|
}
|
|
/**
|
* 监听普通验证与身份验证
|
*/
|
private void verifyListener() {
|
setting_register_admin_rb_common_verify.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
if (setting_register_admin_rb_common_verify.isChecked()) {
|
setting_register_admin_rb_id_verify.setChecked(false);
|
isShowTop(true);
|
} else {
|
setting_register_admin_rb_id_verify.setChecked(true);
|
isShowTop(false);
|
}
|
}
|
});
|
setting_register_admin_rb_id_verify.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
if (setting_register_admin_rb_id_verify.isChecked()) {
|
setting_register_admin_rb_common_verify.setChecked(false);
|
isShowTop(false);
|
} else {
|
setting_register_admin_rb_common_verify.setChecked(true);
|
isShowTop(true);
|
}
|
}
|
});
|
|
|
setting_register_normal_rb_common_verify.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
if (setting_register_normal_rb_common_verify.isChecked()) {
|
setting_register_normal_rb_id_verify.setChecked(false);
|
isNormalShowTop(true);
|
} else {
|
setting_register_normal_rb_id_verify.setChecked(true);
|
isNormalShowTop(false);
|
}
|
}
|
});
|
setting_register_normal_rb_id_verify.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
if (setting_register_normal_rb_id_verify.isChecked()) {
|
setting_register_normal_rb_common_verify.setChecked(false);
|
isNormalShowTop(false);
|
} else {
|
setting_register_normal_rb_common_verify.setChecked(true);
|
isNormalShowTop(true);
|
}
|
}
|
});
|
}
|
|
private void isNormalShowTop(boolean showTop) {
|
if (showTop) {
|
setting_register_normal_ck_phoneN.setClickable(false);
|
setting_register_normal_ck_phoneN.setChecked(false);
|
setting_register_normal_ck_phone.setClickable(true);
|
setting_register_normal_ck_id.setClickable(true);
|
setting_register_normal_ck_name.setClickable(true);
|
} else {
|
setting_register_normal_ck_phoneN.setClickable(true);
|
setting_register_normal_ck_phone.setClickable(false);
|
setting_register_normal_ck_phone.setChecked(false);
|
setting_register_normal_ck_id.setClickable(false);
|
setting_register_normal_ck_id.setChecked(false);
|
setting_register_normal_ck_name.setClickable(false);
|
setting_register_normal_ck_name.setChecked(false);
|
}
|
}
|
|
private void isShowTop(boolean showTop) {
|
if (showTop) {
|
setting_register_admin_ck_phoneN.setClickable(false);
|
setting_register_admin_ck_phoneN.setChecked(false);
|
setting_register_admin_ck_phone.setClickable(true);
|
setting_register_admin_ck_id.setClickable(true);
|
setting_register_admin_ck_name.setClickable(true);
|
} else {
|
setting_register_admin_ck_phoneN.setClickable(true);
|
setting_register_admin_ck_phone.setClickable(false);
|
setting_register_admin_ck_phone.setChecked(false);
|
setting_register_admin_ck_id.setClickable(false);
|
setting_register_admin_ck_id.setChecked(false);
|
setting_register_admin_ck_name.setClickable(false);
|
setting_register_admin_ck_name.setChecked(false);
|
}
|
|
}
|
|
@UiThread
|
public void setBaseSetting(ModelAdapter baseSetting) {
|
String auto_mode = baseSetting.getString("auto_mode"); // 自助注册
|
|
open_door_duration_et.setText(baseSetting.getString(com.basic.security.model.BaseSetting.open_door_duration));
|
String auto_normal_verify_phone = baseSetting.getString("auto_normal_verify_phone");
|
String auto_normal_verify_idcard = baseSetting.getString("auto_normal_verify_idcard");
|
String auto_normal_verify_name = baseSetting.getString("auto_normal_verify_name");
|
normally_closed.setChecked(BaseSettingManager.getNormallyClosed());
|
open_door_password.setText(baseSetting.getString(com.basic.security.model.BaseSetting.open_door_password));
|
open_door_password_enable.setChecked(Constants.TRUE.equals(baseSetting.getString(com.basic.security.model.BaseSetting.open_door_password_enable)));
|
|
reboot_hour_enable.setChecked(!Constants.FALSE.equals(baseSetting.getString(com.basic.security.model.BaseSetting.reboot_hour_enable)));
|
if (!TextUtils.isEmpty(auto_normal_verify_phone) && auto_normal_verify_phone.equals("1")) {
|
setting_register_normal_ck_phone.setChecked(true);
|
} else {
|
setting_register_normal_ck_phone.setChecked(false);
|
}
|
if (!TextUtils.isEmpty(auto_normal_verify_idcard) && auto_normal_verify_idcard.equals("1")) {
|
setting_register_normal_ck_id.setChecked(true);
|
} else {
|
setting_register_normal_ck_id.setChecked(false);
|
}
|
if (!TextUtils.isEmpty(auto_normal_verify_name) && auto_normal_verify_name.equals("1")) {
|
setting_register_normal_ck_name.setChecked(true);
|
} else {
|
setting_register_normal_ck_name.setChecked(false);
|
}
|
|
if (!TextUtils.isEmpty(auto_mode) && auto_mode.equals("1")) {
|
setting_register_rb_self.setChecked(true);
|
String auto_normal_verify = baseSetting.getString("auto_normal_verify");
|
String auto_idcard_verify_phone = baseSetting.getString("auto_idcard_verify_phone");
|
if (!TextUtils.isEmpty(auto_normal_verify) && auto_normal_verify.equals("1")) { // 普通验证
|
setting_register_normal_rb_common_verify.setChecked(true);
|
setting_register_normal_rb_id_verify.setChecked(false);
|
isShowTop(true);
|
// if (!TextUtils.isEmpty(auto_normal_verify_phone) && auto_normal_verify_phone.equals("1")) {
|
// setting_register_normal_ck_phone.setChecked(true);
|
// } else {
|
// setting_register_normal_ck_phone.setChecked(false);
|
// }
|
// if (!TextUtils.isEmpty(auto_normal_verify_idcard) && auto_normal_verify_idcard.equals("1")) {
|
// setting_register_normal_ck_id.setChecked(true);
|
// } else {
|
// setting_register_normal_ck_id.setChecked(false);
|
// }
|
// if (!TextUtils.isEmpty(auto_normal_verify_name) && auto_normal_verify_name.equals("1")) {
|
// setting_register_normal_ck_name.setChecked(true);
|
// } else {
|
// setting_register_normal_ck_name.setChecked(false);
|
// }
|
} else { // 身份验证
|
setting_register_normal_rb_common_verify.setChecked(false);
|
setting_register_normal_rb_id_verify.setChecked(true);
|
isShowTop(false);
|
if (!TextUtils.isEmpty(auto_idcard_verify_phone) && auto_idcard_verify_phone.equals("1")) {
|
setting_register_normal_ck_phoneN.setChecked(true);
|
} else {
|
setting_register_normal_ck_phoneN.setChecked(false);
|
}
|
|
}
|
} else if ("1".equals(baseSetting.getString("pass_mode"))) {
|
setting_register_rb_pass.setChecked(true);
|
} else if ("1".equals(baseSetting.getString("visitor_mode"))) {
|
setting_register_rb_visitor.setChecked(true);
|
} else {
|
setting_register_rb_admin.setChecked(true);
|
auto_sign_up_identity.setVisibility(View.GONE);
|
String admin_normal_verify = baseSetting.getString("admin_normal_verify");
|
String admin_normal_verify_phone = baseSetting.getString("admin_normal_verify_phone");
|
String admin_normal_verify_idcard = baseSetting.getString("admin_normal_verify_idcard");
|
String admin_normal_verify_name = baseSetting.getString("admin_normal_verify_name");
|
String admin_idcard_verify_phone = baseSetting.getString("admin_idcard_verify_phone");
|
if (!TextUtils.isEmpty(admin_normal_verify) && admin_normal_verify.equals("1")) { // 普通验证
|
setting_register_admin_rb_common_verify.setChecked(true);
|
setting_register_admin_rb_id_verify.setChecked(false);
|
isShowTop(true);
|
if (!TextUtils.isEmpty(admin_normal_verify_phone) && admin_normal_verify_phone.equals("1")) {
|
setting_register_admin_ck_phone.setChecked(true);
|
} else {
|
setting_register_admin_ck_phone.setChecked(false);
|
}
|
if (!TextUtils.isEmpty(admin_normal_verify_idcard) && admin_normal_verify_idcard.equals("1")) {
|
setting_register_admin_ck_id.setChecked(true);
|
} else {
|
setting_register_admin_ck_id.setChecked(false);
|
}
|
if (!TextUtils.isEmpty(admin_normal_verify_name) && admin_normal_verify_name.equals("1")) {
|
setting_register_admin_ck_name.setChecked(true);
|
} else {
|
setting_register_admin_ck_name.setChecked(false);
|
}
|
} else { // 身份验证
|
setting_register_admin_rb_common_verify.setChecked(false);
|
setting_register_admin_rb_id_verify.setChecked(true);
|
isShowTop(false);
|
if (!TextUtils.isEmpty(admin_idcard_verify_phone) && admin_idcard_verify_phone.equals("1")) {
|
setting_register_admin_ck_phoneN.setChecked(true);
|
} else {
|
setting_register_admin_ck_phoneN.setChecked(false);
|
}
|
|
}
|
}
|
et_device_name.setText(baseSetting.getString("device_name_ip"));
|
et_server_name.setText(baseSetting.getString("server_name_ip"));
|
String login_expire_long = baseSetting.getString("login_expire_long");
|
if (!TextUtils.isEmpty(login_expire_long)) {
|
setting_register_admin_et_time.setText(login_expire_long);
|
}
|
String back_to_home = baseSetting.getString("back_to_home");
|
if (!TextUtils.isEmpty(back_to_home)) {
|
setting_no_operation_et_time.setText(back_to_home);
|
}
|
String face_ratio = baseSetting.getString("face_ratio");
|
if (!TextUtils.isEmpty(face_ratio)) {
|
String[] split = face_ratio.split("/");
|
setting_face_et_pro_one.setText(split[0]);
|
setting_face_et_pro_two.setText(split[1]);
|
}
|
String face_angle = baseSetting.getString("face_angle");
|
if (!TextUtils.isEmpty(face_angle)) {
|
setting_face_et_angle.setText(face_angle);
|
}
|
String image_play_interval = baseSetting.getString("image_play_interval");
|
if (!TextUtils.isEmpty(image_play_interval) && image_play_interval.equals("1")) {
|
setting_register_ck_image_play.setChecked(true);
|
}
|
|
String image_play_time = baseSetting.getString("image_play_time");
|
|
if (!TextUtils.isEmpty(image_play_time)) {
|
setting_register_et_image_play.setText(image_play_time);
|
}
|
String detect_multiple_face = baseSetting.getString("detect_multiple_face");
|
if (!TextUtils.isEmpty(detect_multiple_face) && detect_multiple_face.equals("1")) {
|
setting_register_ck_detect_multiple_face.setChecked(true);
|
}
|
String no_face_delay = baseSetting.getString("no_face_delay");
|
if (!TextUtils.isEmpty(no_face_delay)) {
|
et_no_face_delay.setText(no_face_delay);
|
}
|
String picture_rotation_angle = baseSetting.getString("picture_rotation_angle");
|
if (!TextUtils.isEmpty(picture_rotation_angle)) {
|
et_picture_rotation_angle.setText(picture_rotation_angle);
|
}
|
}
|
|
private void adminRegisterIsCheck(boolean showSelfRegister) {
|
// clearBtnStation();
|
if (showSelfRegister) {// 管理员注册
|
setting_ll_admin.setVisibility(View.VISIBLE);
|
ll_register_self.setVisibility(View.GONE);
|
auto_sign_up_identity.setVisibility(View.GONE);
|
} else {
|
setting_ll_admin.setVisibility(View.GONE);
|
// ll_register_self.setVisibility(View.VISIBLE);
|
auto_sign_up_identity.setVisibility(View.VISIBLE);
|
}
|
}
|
|
// 清空管理员注册模式下的所有按钮的状态
|
private void clearBtnStation() {
|
setting_register_admin_rb_common_verify.setChecked(false);
|
setting_register_admin_rb_id_verify.setChecked(false);
|
setting_register_admin_ck_phone.setChecked(false);
|
setting_register_admin_ck_id.setChecked(false);
|
setting_register_admin_ck_name.setChecked(false);
|
setting_register_admin_ck_phoneN.setChecked(false);
|
// setting_register_self_ck_phone.setChecked(false);
|
}
|
|
@Click
|
public void open_system_setting() {
|
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
|
}
|
|
private class NumericKeyBoardTransformationMethod extends PasswordTransformationMethod {
|
@Override
|
public CharSequence getTransformation(CharSequence source, View view) {
|
return source;
|
}
|
}
|
|
private class OfficeDeviceListAdapter extends BaseAdapter {
|
@Override
|
public int getCount() {
|
int count = officeDeviceList == null ? 0 : officeDeviceList.size();
|
// System.out.println("OfficeDeviceListAdapter.getCount()=" + count);
|
return count;
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return officeDeviceList.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
// System.out.println("OfficeDeviceListAdapter.getView");
|
View layout;
|
BaseSettingFragment.OfficeDeviceListAdapter.ViewHolder viewHolder;
|
if (convertView == null) {
|
layout = View.inflate(getContext(), R.layout.office_device_item, null);
|
viewHolder = new BaseSettingFragment.OfficeDeviceListAdapter.ViewHolder();// 当前Item 的布局的子控件的引用的集合
|
viewHolder.deviceIp = layout.findViewById(R.id.deviceIp);
|
viewHolder.deviceName = layout.findViewById(R.id.deviceName);
|
viewHolder.valid = layout.findViewById(R.id.valid);
|
viewHolder.deleteOfficeDeviceItem = layout.findViewById(R.id.deleteOfficeDeviceItem);
|
layout.setTag(viewHolder);//把该布局的 子控件的引用 绑定到该布局上
|
} else {
|
viewHolder = (BaseSettingFragment.OfficeDeviceListAdapter.ViewHolder) convertView.getTag();
|
layout = convertView;
|
}
|
final ModelAdapter officeDevice = officeDeviceList.get(position);
|
viewHolder.deviceIp.setText(officeDevice.getString(OfficeDevice.deviceIp));
|
viewHolder.deviceName.setText(officeDevice.getString(OfficeDevice.deviceName));
|
viewHolder.valid.setChecked(Constants.TRUE.equals(officeDevice.getString(OfficeDevice.valid)));
|
viewHolder.valid.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
officeDevice.setString(OfficeDevice.valid, isChecked ? Constants.TRUE : Constants.FALSE);
|
// OfficeDeviceManager.updateOfficeDeviceValidField(officeDevice.get(OfficeDevice.id), isChecked? Constants.TRUE:Constants.FALSE);
|
}
|
});
|
viewHolder.deleteOfficeDeviceItem.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
ConfirmDialog confirmDialog = new ConfirmDialog(mainActivity(),
|
"确认删除吗?", "确认", "取消");
|
confirmDialog.setClickListener(new ConfirmDialog.ClickListenerInterface() {
|
@Override
|
public void doConfirm() {
|
OfficeDeviceManager.deleteOfficeDevice(officeDevice);
|
loadDataFromDb();
|
confirmDialog.dismiss();
|
}
|
|
@Override
|
public void doCancel() {
|
confirmDialog.dismiss();
|
}
|
});
|
confirmDialog.show();
|
}
|
});
|
return layout;
|
}
|
|
class ViewHolder {
|
private TextView deviceIp;
|
private TextView deviceName;
|
private CheckBox valid;
|
private View deleteOfficeDeviceItem;
|
}
|
}
|
|
}
|