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 PersonIdentity = new ArrayList<>(); // private RegisterRuleAdapter adapter; // private String identityName = ""; // private String identityId = ""; private List 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 adapter = new ArrayAdapter(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 adapter = new ArrayAdapter(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 adapter = new ArrayAdapter(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; } } }