package com.basic.security.manager; import android.text.TextUtils; import com.basic.security.activity.MainActivity; import com.basic.security.model.BaseSetting; import com.basic.security.model.ModelAdapter; import com.basic.security.model.Sync; import com.basic.security.utils.Constants; import com.basic.security.utils.ExceptionUtil; import com.basic.security.utils.socket.outdoor.OutdoorSendIpSocketClientFromBaseSetting; import java.util.List; public class BaseSettingManager extends BaseManager { public static ModelAdapter baseSetting = new ModelAdapter(); public static void initBaseSetting() { baseSetting = findById("base_setting", com.basic.security.model.BaseSetting.tableName); if (baseSetting == null) { baseSetting = new ModelAdapter(com.basic.security.model.BaseSetting.tableName); baseSetting.setString(BaseSetting.auto_mode, "1"); baseSetting.setString(BaseSetting.auto_idcard_verify, "1"); if (Constants.isOutdoor) { baseSetting.setString(BaseSetting.indoor_device_id, "indoor1"); baseSetting.setString(BaseSetting.indoor_device_ip, "192.168.222.103"); } baseSetting.setString("auto_mode", "0"); if (Constants.isIndoor) { baseSetting.setString(BaseSetting.visitor_mode, "1"); baseSetting.setString(BaseSetting.device_pass_mode, "允许通行"); } if (Constants.isOutdoor) { baseSetting.setString(BaseSetting.pass_mode, "1"); } baseSetting.setString("auto_mode", "0"); baseSetting.setString("auto_mode_verify_phone", "1"); baseSetting.setString("admin_mode", "1"); baseSetting.setString("admin_normal_verify", "1"); baseSetting.setString("admin_normal_verify_phone", "0"); baseSetting.setString("admin_normal_verify_idcard", "0"); baseSetting.setString("admin_normal_verify_name", "0"); baseSetting.setString("admin_idcard_verify", "0"); baseSetting.setString("admin_idcard_verify_phone", "0"); baseSetting.setString("edit_setting", "1"); baseSetting.setString("back_to_home", "10"); baseSetting.setString("face_ratio", "2/10"); baseSetting.setString("face_angle", "30"); baseSetting.setString("image_play_interval", "1"); baseSetting.setString("image_play_time", "5"); baseSetting.setString("detect_multiple_face", "0"); baseSetting.setString("open_door_duration", "10"); baseSetting.setString(BaseSetting.no_face_delay, "5"); baseSetting.setString(BaseSetting.login_expire_long, "10"); baseSetting.setString(BaseSetting.picture_rotation_angle, "0"); baseSetting.setString("table", "base_setting"); baseSetting.setString("device_id", DeviceManager.getDeviceId()); baseSetting.setString("company_id", CompanyManager.getCompanyId()); baseSetting.setString(com.basic.security.model.BaseSetting.open_door_password, "123456"); baseSetting.setString(com.basic.security.model.BaseSetting.open_door_password_enable, Constants.FALSE); baseSetting.setString(com.basic.security.model.BaseSetting.reboot_hour, "0"); baseSetting.setString(com.basic.security.model.BaseSetting.reboot_hour_enable, Constants.TRUE); baseSetting.setString(Sync.needSync, Constants.FALSE); baseSetting.setString(BaseSetting.picture_server_ip, "192.168.5.23"); baseSetting.setString(BaseSetting.picture_server_port, "6333"); BaseManager.save(baseSetting); } } public static void saveBaseSetting(ModelAdapter newBaseSetting) { baseSetting = newBaseSetting; save(newBaseSetting); String device_pass_mode = baseSetting.getString(BaseSetting.device_pass_mode); if ("确认通行".equals(device_pass_mode)) { } OutdoorSendIpSocketClientFromBaseSetting.notifyChanged(); try { MainActivity.noFaceDelayTimeoutToBlank.fixedTimeoutSeconds = getNoFaceDelay(); } catch (Exception e) { ExceptionUtil.printException(e); } } public static ModelAdapter getBaseSetting() { if (baseSetting == null) { initBaseSetting(); } return baseSetting; } public static String getIndoorServerIp() { return getBaseSetting().getString(BaseSetting.indoor_device_ip); } public static int getBackToHomeInSeconds() { int backToHomeInSeconds = 5; try { String time = getBaseSetting().getString("back_to_home"); if (!TextUtils.isEmpty(time)) { backToHomeInSeconds = Integer.parseInt(time); } } catch (Exception e) { ExceptionUtil.printException(e); } if (backToHomeInSeconds <= 0) { backToHomeInSeconds = 5; } return backToHomeInSeconds; } public static boolean isAutoSignUpMode() { String auto_mode = getBaseSetting().getString("auto_mode"); return !TextUtils.isEmpty(auto_mode) && auto_mode.equals("1"); } public static boolean isAdminAuthSignUpMode() { String admin_mode = getBaseSetting().getString("admin_mode"); return "1".equals(admin_mode); } public static boolean isPassMode() { String pass_mode = getBaseSetting().getString("pass_mode"); return !TextUtils.isEmpty(pass_mode) && pass_mode.equals("1"); } public static boolean isGuestMode() { String visitor_mode = getBaseSetting().getString("visitor_mode"); return !TextUtils.isEmpty(visitor_mode) && visitor_mode.equals("1"); } public static boolean isAdminAuthSignUpModeNeedIdCard() { if (isAutoSignUpMode()) { return isAutoSignUpIDCardMode(); } String admin_idcard_verify = getBaseSetting().getString("admin_idcard_verify"); return !TextUtils.isEmpty(admin_idcard_verify) && admin_idcard_verify.equals("1"); } public static boolean adminIDCardSignUpModeNeedPhone() { if (isAutoSignUpMode()) { return isAutoSignUpIDCardModeNeedPhone(); } String admin_idcard_verify_phone = getBaseSetting().getString("admin_idcard_verify_phone"); return !TextUtils.isEmpty(admin_idcard_verify_phone) && admin_idcard_verify_phone.equals("1"); } public static boolean adminNormalSignUpModeNeedPhone() { if (isAutoSignUpMode()) { return isAutoSignUpNotIDCardModeNeedPhone(); } String admin_normal_verify_phone = getBaseSetting().getString("admin_normal_verify_phone"); return !TextUtils.isEmpty(admin_normal_verify_phone) && admin_normal_verify_phone.equals("1"); } public static boolean adminNormalSignUpModeNeedName() { if (isAutoSignUpMode()) { return isAutoSignUpNotIDCardModeNeedName(); } String admin_normal_verify_name = getBaseSetting().getString("admin_normal_verify_name"); return !TextUtils.isEmpty(admin_normal_verify_name) && admin_normal_verify_name.equals("1"); } public static boolean adminNormalSignUpModeNeedIDNumber() { if (isAutoSignUpMode()) { return isAutoSignUpNotIDCardModeNeedIDNumber(); } String admin_normal_verify_idcard = getBaseSetting().getString("admin_normal_verify_idcard"); return !TextUtils.isEmpty(admin_normal_verify_idcard) && admin_normal_verify_idcard.equals("1"); } public static long getLoginExpireInMinutes() { try { String login_expire_long = getBaseSetting().getString("login_expire_long"); if (!TextUtils.isEmpty(login_expire_long)) { int login_expire_long_int = Integer.parseInt(login_expire_long); if (login_expire_long_int > 0) { return login_expire_long_int; } } } catch (Exception e) { ExceptionUtil.printException(e); } return 10; } public static boolean allowMultipleFace() { String detect_multiple_face = getBaseSetting().getString("detect_multiple_face"); return !TextUtils.isEmpty(detect_multiple_face) && "1".equals(detect_multiple_face); } public static boolean imagePlayInterval() { String detect_multiple_face = getBaseSetting().getString("image_play_interval"); return !TextUtils.isEmpty(detect_multiple_face) && "1".equals(detect_multiple_face); } public static int getImagePlayTime() { try { String image_play_time = getBaseSetting().getString("image_play_time"); if (!TextUtils.isEmpty(image_play_time)) { int image_play_time_int = Integer.parseInt(image_play_time); if (image_play_time_int > 0) { return image_play_time_int; } } } catch (Exception e) { ExceptionUtil.printException(e); } return 10; } public static String getFaceRatio() { try { String face_ratio = getBaseSetting().getString("face_ratio"); if (!TextUtils.isEmpty(face_ratio)) { String[] split = face_ratio.split("/"); return (Double.parseDouble(split[0]) / Double.parseDouble(split[1])) + ""; } } catch (Exception e) { ExceptionUtil.printException(e); } return "0.25"; } public static String getFaceAngle() { try { String face_angle = getBaseSetting().getString("face_angle"); if (!TextUtils.isEmpty(face_angle)) { return face_angle; } } catch (Exception e) { ExceptionUtil.printException(e); } return "10"; } public static String getDefaultIdentityId() { String auto_register_identity_id = getBaseSetting().getString("auto_register_identity_id"); if (!TextUtils.isEmpty(auto_register_identity_id)) { return auto_register_identity_id; } return null; } public static String getDefaultIdentityName() { String auto_register_identity_name = getBaseSetting().getString("auto_register_identity_name"); if (!TextUtils.isEmpty(auto_register_identity_name)) { return auto_register_identity_name; } return null; } public static String getDefaultRegisterRule() { String auto_register_identity_id = getBaseSetting().getString("auto_register_rule"); if (!TextUtils.isEmpty(auto_register_identity_id)) { return auto_register_identity_id; } return null; } public static String getDefaultRegisterTimeId() { String auto_register_identity_name = getBaseSetting().getString("auto_checked_time_rule_id"); if (!TextUtils.isEmpty(auto_register_identity_name)) { return auto_register_identity_name; } return null; } public static boolean isAutoSignUpIDCardMode() { String auto_idcard_verify = getBaseSetting().getString("auto_idcard_verify"); return !TextUtils.isEmpty(auto_idcard_verify) && auto_idcard_verify.equals("1"); } public static boolean isAutoSignUpIDCardModeNeedPhone() { String auto_idcard_verify_phone = getBaseSetting().getString("auto_idcard_verify_phone"); return !TextUtils.isEmpty(auto_idcard_verify_phone) && auto_idcard_verify_phone.equals("1"); } public static boolean isAutoSignUpNormalMode() { String auto_normal_verify = getBaseSetting().getString("auto_normal_verify"); return !TextUtils.isEmpty(auto_normal_verify) && auto_normal_verify.equals("1"); } public static boolean isAutoSignUpNotIDCardModeNeedName() { String auto_normal_verify_name = getBaseSetting().getString("auto_normal_verify_name"); return !TextUtils.isEmpty(auto_normal_verify_name) && auto_normal_verify_name.equals("1"); } public static boolean isAutoSignUpNotIDCardModeNeedIDNumber() { String auto_normal_verify_idcard = getBaseSetting().getString("auto_normal_verify_idcard"); return !TextUtils.isEmpty(auto_normal_verify_idcard) && auto_normal_verify_idcard.equals("1"); } public static boolean isAutoSignUpNotIDCardModeNeedPhone() { String auto_normal_verify_phone = getBaseSetting().getString("auto_normal_verify_phone"); return !TextUtils.isEmpty(auto_normal_verify_phone) && auto_normal_verify_phone.equals("1"); } public static String getDevicePassMode() { return getBaseSetting().getString("device_pass_mode"); } public static String getIndoorDeviceIp() { return getBaseSetting().getString(BaseSetting.indoor_device_ip); } public static boolean relationPersonIsCheck() { String relation_person = getBaseSetting().getString("relation_person"); return "确认通行".equals(getBaseSetting().getString("device_pass_mode")) && "1".equals(relation_person); } public static boolean relationDeviceIsCheck() { String relation_device = getBaseSetting().getString("relation_device"); return "确认通行".equals(getBaseSetting().getString("device_pass_mode")) && "1".equals(relation_device); } public static String getDeviceName() { String indoor_device_id = getBaseSetting().getString("indoor_device_id"); if ("确认通行".equals(getBaseSetting().getString("device_pass_mode")) && !TextUtils.isEmpty(indoor_device_id)) { return indoor_device_id; } else { return null; } } public static String getServerName() { String indoor_device_ip = getBaseSetting().getString("indoor_device_ip"); if ("确认通行".equals(getBaseSetting().getString("device_pass_mode")) && !TextUtils.isEmpty(indoor_device_ip)) { return indoor_device_ip; } else { return null; } } public static int getNoFaceDelay() { try { String no_face_delay = getBaseSetting().getString("no_face_delay"); if (!TextUtils.isEmpty(no_face_delay)) { int no_face_delay_int = Integer.parseInt(no_face_delay); if (no_face_delay_int > 0) { return no_face_delay_int; } } } catch (Exception e) { ExceptionUtil.printException(e); } return 5; } public static int getPictureRotationAngle() { try { String picture_rotation_angle = getBaseSetting().getString("picture_rotation_angle"); if (!TextUtils.isEmpty(picture_rotation_angle)) { int picture_rotation_angle_int = Integer.parseInt(picture_rotation_angle); if (picture_rotation_angle_int > 0) { return picture_rotation_angle_int; } } } catch (Exception e) { ExceptionUtil.printException(e); } return 0; } public static boolean isDoorAccessOnlyMode() { return false; } public static boolean isVisitOnlyMode() { return false; } public static long getOpenDoorDurationSeconds() { int openDoorDuration = 10; try { String openDoorDurationStr = getBaseSetting().getString("open_door_duration"); openDoorDuration = Integer.parseInt(openDoorDurationStr); if (openDoorDuration <= 0) { openDoorDuration = 10; } } catch (Exception e) { System1.out.println(e.getMessage()); } return openDoorDuration; } public static List findBaseSettingList(String sql) { return findList(sql); } public static String getOpenDoorPassword() { try { return baseSetting.getString(com.basic.security.model.BaseSetting.open_door_password); } catch (Exception e) { ExceptionUtil.printException(e); } return ""; } public static boolean getOpenDoorPasswordEnable() { try { return Constants.TRUE.equals(baseSetting.getString(com.basic.security.model.BaseSetting.open_door_password_enable)); } catch (Exception e) { ExceptionUtil.printException(e); } return false; } public static String getpicture_server_ip() { return getBaseSetting().getString(BaseSetting.picture_server_ip); } public static String getpicture_server_port() { return getBaseSetting().getString(BaseSetting.picture_server_port); } }