赵明涛 8 hours ago
parent
commit
5d99fa4344
  1. 6
      app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java
  2. 18
      app/src/main/java/com/ouxuan/oxface/device/GateABController.java

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

@ -711,11 +711,15 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
@Override @Override
public void onGateAvailable() { public void onGateAvailable() {
LogManager.logInfo(TAG, "门禁恢复可用,隐藏弹窗");
LogManager.logInfo(TAG, "门禁恢复可用,隐藏弹窗并恢复摄像头预览");
// 隐藏门禁不可用弹窗 // 隐藏门禁不可用弹窗
if (gateUnavailableDialog != null && gateUnavailableDialog.isShowing()) { if (gateUnavailableDialog != null && gateUnavailableDialog.isShowing()) {
gateUnavailableDialog.hide(); gateUnavailableDialog.hide();
} }
// 恢复摄像头预览与弹窗的onDialogHide回调保持一致
resumeCamera();
} }
}); });

18
app/src/main/java/com/ouxuan/oxface/device/GateABController.java

@ -997,11 +997,23 @@ public class GateABController {
// 如果状态发生变化且有监听器通知监听器 // 如果状态发生变化且有监听器通知监听器
if (stateChanged && gateStateListener != null) { if (stateChanged && gateStateListener != null) {
final boolean finalShouldShowDialog = shouldShowDialog; final boolean finalShouldShowDialog = shouldShowDialog;
final boolean shouldHideDialog = oldShouldShow && !newShouldShow;
syncHandler.post(() -> { syncHandler.post(() -> {
gateStateListener.onGateStateChanged(currentGateState); gateStateListener.onGateStateChanged(currentGateState);
// 如果需要显示弹窗额外通知
if (finalShouldShowDialog && gateStateListener instanceof GateUnavailableListener) {
((GateUnavailableListener) gateStateListener).onGateUnavailable(currentGateState.getUnavailableReason());
if (gateStateListener instanceof GateUnavailableListener) {
GateUnavailableListener unavailableListener = (GateUnavailableListener) gateStateListener;
// 如果需要显示弹窗触发不可用回调
if (finalShouldShowDialog) {
unavailableListener.onGateUnavailable(currentGateState.getUnavailableReason());
}
// 如果需要隐藏弹窗门状态恢复正常触发可用回调
else if (shouldHideDialog) {
LogManager.logInfo(TAG, "触发门禁恢复可用回调,隐藏弹窗并恢复摄像头");
unavailableListener.onGateAvailable();
}
} }
}); });
} }

Loading…
Cancel
Save