From 1c46ab0f1032bf455bab1feadadbfb60348a3622 Mon Sep 17 00:00:00 2001 From: MTing Date: Tue, 16 Sep 2025 11:09:01 +0800 Subject: [PATCH] change --- .../main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java | 12 ++++++------ .../java/com/ouxuan/oxface/abgate/GateUnavailableDialog.java | 10 +++++----- app/src/main/java/com/ouxuan/oxface/device/OxUDP.java | 10 ++++++++-- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java b/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java index b6586ae..2e01405 100644 --- a/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java +++ b/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java @@ -768,12 +768,12 @@ 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(); +// } } }); diff --git a/app/src/main/java/com/ouxuan/oxface/abgate/GateUnavailableDialog.java b/app/src/main/java/com/ouxuan/oxface/abgate/GateUnavailableDialog.java index 65146a3..48c81f1 100644 --- a/app/src/main/java/com/ouxuan/oxface/abgate/GateUnavailableDialog.java +++ b/app/src/main/java/com/ouxuan/oxface/abgate/GateUnavailableDialog.java @@ -58,7 +58,7 @@ public class GateUnavailableDialog { // 倒计时相关(离场场景) private Handler countdownHandler; private Runnable countdownRunnable; - private int countdownSeconds = 6; + private int countdownSeconds = 10; // 弹窗类型标识 private boolean isPeopleCountError = false; @@ -589,16 +589,16 @@ public class GateUnavailableDialog { } /** - * 启动离场场景的倒计时自动关闭(5秒) + * 启动离场场景的倒计时自动关闭(5秒-10s) */ private void startLeaveSceneCountdown() { - LogManager.logInfo(TAG, "启动离场场景6秒倒计时"); + LogManager.logInfo(TAG, "启动离场场景10秒倒计时"); // 显示倒计时文本 tvCountdown.setVisibility(View.VISIBLE); // 重置倒计时 - countdownSeconds = 6; + countdownSeconds = 10; // 更新倒计时显示 updateCountdownDisplay(); @@ -615,7 +615,7 @@ public class GateUnavailableDialog { countdownHandler.postDelayed(this, 1000); } else { // 倒计时结束,自动关闭弹窗 - LogManager.logInfo(TAG, "离场场景6秒倒计时结束,自动关闭弹窗"); + LogManager.logInfo(TAG, "离场场景10秒倒计时结束,自动关闭弹窗"); closeDialogAndStopMonitoring(); } } diff --git a/app/src/main/java/com/ouxuan/oxface/device/OxUDP.java b/app/src/main/java/com/ouxuan/oxface/device/OxUDP.java index ad00a1f..569b65b 100644 --- a/app/src/main/java/com/ouxuan/oxface/device/OxUDP.java +++ b/app/src/main/java/com/ouxuan/oxface/device/OxUDP.java @@ -460,7 +460,13 @@ public class OxUDP { // 通知监听器状态变化 notifyGateStateUpdate(gateAState, gateBState, response); - } else { + } else if(gateAState||gateBState){ + isFirstStateUpdate = true; + Log.d(TAG, "检测到门禁被开启 - A门: " + (gateAState ? "开启" : "关闭") + + ", B门: " + (gateBState ? "开启" : "关闭") + " [通知]"); + notifyGateStateUpdate(gateAState, gateBState, response); + } + else { // 状态无变化,记录调试日志 Log.d(TAG, "门禁状态无变化 - A门: " + (gateAState ? "开启" : "关闭") + ", B门: " + (gateBState ? "开启" : "关闭") + " [跳过通知]"); @@ -603,7 +609,7 @@ public class OxUDP { lastGateAState = false; lastGateBState = false; - isFirstStateUpdate = true; +// isFirstStateUpdate = true; Log.i(TAG, "门状态缓存已重置,下次状态更新将被视为首次更新,确保能正常触发状态变化检测"); }