|
|
@ -730,6 +730,11 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
gateABController = GateABController.getInstance(); |
|
|
|
gateABController.initialize(this); |
|
|
|
|
|
|
|
// 检查是否开启AB门检测 |
|
|
|
checkGateCheckEnabled(); |
|
|
|
|
|
|
|
// 只有当AB门检测开启时才设置门状态监听器(触发时机1) |
|
|
|
if (isGateCheckEnabled) { |
|
|
|
// 设置门状态监听器(触发时机1) |
|
|
|
gateABController.setGateStateListener(new GateABController.GateUnavailableListener() { |
|
|
|
@Override |
|
|
@ -787,14 +792,17 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
} |
|
|
|
|
|
|
|
// 特别处理:如果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); |
|
|
@ -874,9 +882,6 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
// 检查是否开启AB门检测 |
|
|
|
checkGateCheckEnabled(); |
|
|
|
|
|
|
|
LogManager.logInfo(TAG, "AB门禁管理和不可用弹窗初始化完成"); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
@ -943,13 +948,22 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
private void checkGateCheckEnabled() { |
|
|
|
try { |
|
|
|
// 从配置中获取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) { |
|
|
|
LogManager.logError(TAG, "检查AB门检测状态失败", e); |
|
|
@ -1825,9 +1839,8 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
if (VenueSceneUtils.isLeaveScene(OXFaceOnlineActivity.this)) { |
|
|
|
// 离场场景:检查gate_enter_open_enable配置 |
|
|
|
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门"); |
|
|
|
showLoadingStatus("门已打开,请直接离场"); |
|
|
|
|
|
|
|