Browse Source

fix 4.2

devab
MTing 3 weeks ago
parent
commit
d9915124f6
  1. 8
      app/src/main/java/com/ouxuan/oxface/abgate/ABGateManager.java
  2. 4
      app/src/main/java/com/ouxuan/oxface/device/GateABController.java
  3. 11
      app/src/main/java/com/ouxuan/oxface/device/Ox485.java

8
app/src/main/java/com/ouxuan/oxface/abgate/ABGateManager.java

@ -256,7 +256,10 @@ public class ABGateManager {
@Override
public void onError(String errorMessage) {
LogManager.logError(TAG, "485人数获取失败: " + errorMessage);
peopleCheckFuture.completeExceptionally(new RuntimeException("485人数获取失败: " + errorMessage));
// 当485通信失败时立即完成future并返回false表示检查不通过
peopleCheckFuture.complete(false);
// 或者可以选择抛出异常
// peopleCheckFuture.completeExceptionally(new RuntimeException("485人数获取失败: " + errorMessage));
}
});
@ -268,7 +271,8 @@ public class ABGateManager {
} catch (Exception e) {
String errorMsg = "人数检查异常: " + e.getMessage();
LogManager.logError(TAG, errorMsg, e);
throw new RuntimeException(errorMsg);
// 当出现异常时返回false表示检查不通过
return false;
}
}

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

@ -952,7 +952,7 @@ public class GateABController {
public void onSuccess(int peopleNum) {
LogManager.logInfo(TAG, "485人数获取成功: " + peopleNum + " 人");
if (callback != null) {
callback.onSuccess(peopleNum);
syncHandler.post(() -> callback.onSuccess(peopleNum));
}
}
@ -960,7 +960,7 @@ public class GateABController {
public void onError(String errorMessage) {
LogManager.logError(TAG, "485人数获取失败: " + errorMessage);
if (callback != null) {
callback.onError(errorMessage);
syncHandler.post(() -> callback.onError(errorMessage));
}
}
});

11
app/src/main/java/com/ouxuan/oxface/device/Ox485.java

@ -208,6 +208,17 @@ public class Ox485 {
return;
}
// 检查串口文件是否有读写权限
if (!serialPortFile.canRead() || !serialPortFile.canWrite()) {
String errorMsg = "485串口设备无读写权限: " + DEFAULT_SERIAL_PORT_PATH;
LogManager.logError(TAG, errorMsg);
closeAndCleanup(serialPortManager);
if (callback != null) {
mainHandler.post(() -> callback.onError(errorMsg));
}
return;
}
// 配置串口参数
boolean openResult = serialPortManager.openSerialPort(serialPortFile, DEFAULT_BAUD_RATE);
LogManager.logInfo(TAG, "485串口打开结果: " + openResult);

Loading…
Cancel
Save