diff --git a/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java b/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java index 465cc55..8c8eb70 100644 --- a/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java +++ b/app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java @@ -1596,6 +1596,20 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi // 直接执行AB门开门操作 if (gateABController != null) { + + // 暂停摄像头预览10秒后再恢复,避免频繁执行开门操作 + pauseCameraWithTimeout(); + LogManager.logInfo(TAG, "暂停摄像头预览10秒,避免频繁执行开门操作"); + + // 10秒后恢复摄像头预览 + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + resumeCamera(); + LogManager.logInfo(TAG, "10秒后恢复摄像头预览"); + } + }, 10000); + gateABController.openGateAB(new GateABController.GateControlCallback() { @Override public void onSuccess(String message) { @@ -1603,12 +1617,12 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi // 显示简单的成功提示 runOnUiThread(() -> { - showLoadingStatus("网络中断,直接开门成功"); + showLoadingStatus("开门成功,网络异常"); - // 3秒后隐藏提示 + // 5秒后隐藏提示 new Handler().postDelayed(() -> { hideLoadingStatus(); - }, 3000); + }, 5000); }); } @@ -1620,10 +1634,10 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi runOnUiThread(() -> { showLoadingStatus("开门失败: " + errorMessage); - // 3秒后隐藏提示 + // 5秒后隐藏提示 new Handler().postDelayed(() -> { hideLoadingStatus(); - }, 3000); + }, 5000); }); } }); 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 5fc3e5f..65146a3 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 = 5; + private int countdownSeconds = 6; // 弹窗类型标识 private boolean isPeopleCountError = false; @@ -592,13 +592,13 @@ public class GateUnavailableDialog { * 启动离场场景的倒计时自动关闭(5秒) */ private void startLeaveSceneCountdown() { - LogManager.logInfo(TAG, "启动离场场景5秒倒计时"); + LogManager.logInfo(TAG, "启动离场场景6秒倒计时"); // 显示倒计时文本 tvCountdown.setVisibility(View.VISIBLE); // 重置倒计时 - countdownSeconds = 5; + countdownSeconds = 6; // 更新倒计时显示 updateCountdownDisplay(); @@ -615,7 +615,7 @@ public class GateUnavailableDialog { countdownHandler.postDelayed(this, 1000); } else { // 倒计时结束,自动关闭弹窗 - LogManager.logInfo(TAG, "离场场景5秒倒计时结束,自动关闭弹窗"); + LogManager.logInfo(TAG, "离场场景6秒倒计时结束,自动关闭弹窗"); closeDialogAndStopMonitoring(); } } @@ -630,7 +630,7 @@ public class GateUnavailableDialog { */ private void updateCountdownDisplay() { if (tvCountdown != null) { - tvCountdown.setText("将在 " + countdownSeconds + " 秒后自动关闭"); + tvCountdown.setText("请稍后 " + countdownSeconds + "s"); LogManager.logInfo(TAG, "更新倒计时显示: " + countdownSeconds + "秒"); } }