Browse Source

enable ab add

devab
MTing 4 weeks ago
parent
commit
923f4ff124
  1. 47
      app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java

47
app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java

@ -730,6 +730,11 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
gateABController = GateABController.getInstance(); gateABController = GateABController.getInstance();
gateABController.initialize(this); gateABController.initialize(this);
// 检查是否开启AB门检测
checkGateCheckEnabled();
// 只有当AB门检测开启时才设置门状态监听器触发时机1
if (isGateCheckEnabled) {
// 设置门状态监听器触发时机1 // 设置门状态监听器触发时机1
gateABController.setGateStateListener(new GateABController.GateUnavailableListener() { gateABController.setGateStateListener(new GateABController.GateUnavailableListener() {
@Override @Override
@ -787,14 +792,17 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
} }
// 特别处理如果A门和B门都关闭且UDP正常且有弹窗正在显示应该关闭弹窗 // 特别处理如果A门和B门都关闭且UDP正常且有弹窗正在显示应该关闭弹窗
// if (!gateAOpen && !gateBOpen && udpConnected &&
// gateUnavailableDialog != null && gateUnavailableDialog.isShowing()) {
// LogManager.logInfo(TAG, "A门和B门都关闭且UDP正常,关闭门禁不可用弹窗");
// gateUnavailableDialog.hide();
// resumeCamera();
// }
// if (!gateAOpen && !gateBOpen && udpConnected &&
// gateUnavailableDialog != null && gateUnavailableDialog.isShowing()) {
// LogManager.logInfo(TAG, "A门和B门都关闭且UDP正常,关闭门禁不可用弹窗");
// gateUnavailableDialog.hide();
// resumeCamera();
// }
} }
}); });
} else {
LogManager.logInfo(TAG, "AB门检测已关闭,跳过设置门状态监听器(触发时机1)");
}
// 初始化门禁不可用弹窗 // 初始化门禁不可用弹窗
gateUnavailableDialog = new GateUnavailableDialog(this); gateUnavailableDialog = new GateUnavailableDialog(this);
@ -874,9 +882,6 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
} }
}); });
// 检查是否开启AB门检测
checkGateCheckEnabled();
LogManager.logInfo(TAG, "AB门禁管理和不可用弹窗初始化完成"); LogManager.logInfo(TAG, "AB门禁管理和不可用弹窗初始化完成");
} catch (Exception e) { } catch (Exception e) {
@ -943,13 +948,22 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
private void checkGateCheckEnabled() { private void checkGateCheckEnabled() {
try { try {
// 从配置中获取AB门检测是否开启 // 从配置中获取AB门检测是否开启
// 这里可以根据实际业务需要添加配置检查逻辑
// 例如 DeviceSelectDataManager 获取相关配置
boolean gateCheckEnabled = false;
// 暂时默认开启后续可以根据实际需要调整
isGateCheckEnabled = true;
// 获取门禁配置信息
com.ouxuan.oxface.utils.VenueSceneUtils.GateConfig gateConfig =
com.ouxuan.oxface.utils.VenueSceneUtils.getGateConfig(this);
if (gateConfig != null) {
gateCheckEnabled = gateConfig.gateAbEnable;
LogManager.logInfo(TAG, "从配置获取AB门检测状态: " + (gateCheckEnabled ? "已开启" : "已关闭"));
} else {
LogManager.logWarning(TAG, "无法获取门禁配置,AB门检测默认关闭");
gateCheckEnabled = false;
}
LogManager.logInfo(TAG, "AB门检测状态: " + (isGateCheckEnabled ? "已开启" : "已关闭"));
isGateCheckEnabled = gateCheckEnabled;
LogManager.logInfo(TAG, "AB门检测最终状态: " + (isGateCheckEnabled ? "已开启" : "已关闭"));
} catch (Exception e) { } catch (Exception e) {
LogManager.logError(TAG, "检查AB门检测状态失败", e); LogManager.logError(TAG, "检查AB门检测状态失败", e);
@ -1825,9 +1839,8 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
if (VenueSceneUtils.isLeaveScene(OXFaceOnlineActivity.this)) { if (VenueSceneUtils.isLeaveScene(OXFaceOnlineActivity.this)) {
// 离场场景检查gate_enter_open_enable配置 // 离场场景检查gate_enter_open_enable配置
VenueSceneUtils.GateConfig gateConfig = VenueSceneUtils.getGateConfig(OXFaceOnlineActivity.this); VenueSceneUtils.GateConfig gateConfig = VenueSceneUtils.getGateConfig(OXFaceOnlineActivity.this);
// gateOpenEnable
if (gateConfig != null && gateConfig.gateOpenEnable) {
// 如果 gate_open_enable true直接开门不进行网络核销
if (gateConfig != null && gateConfig.gateEnterOpenEnable) {
// 如果 gate_enter_open_enable true直接开门不进行网络核销
LogManager.logInfo(TAG, "检测到离场场景,gate_enter_open_enable为true,直接开启B门"); LogManager.logInfo(TAG, "检测到离场场景,gate_enter_open_enable为true,直接开启B门");
showLoadingStatus("门已打开,请直接离场"); showLoadingStatus("门已打开,请直接离场");

Loading…
Cancel
Save