From 76a0e32244f972846bbe05db0b6b7fe2f0da7242 Mon Sep 17 00:00:00 2001 From: "yineng.huang" Date: Thu, 25 Jul 2024 18:11:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=97=B6=EF=BC=8C=E7=AB=8B?= =?UTF-8?q?=E9=A9=AC=E5=8F=91=E7=BC=93=E5=AD=98=E7=9A=84=E6=9C=80=E5=90=8E?= =?UTF-8?q?=E4=B8=80=E5=BC=A0=E5=9B=BE=E7=89=87=E5=88=B0=E5=89=8D=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/AndroidScreenResponseThread.java | 6 ++---- .../deviceManager/screen/ImageScreenResponse.java | 14 +++++++++++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/AndroidScreenResponseThread.java b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/AndroidScreenResponseThread.java index a6aecbb..b7e7fd4 100644 --- a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/AndroidScreenResponseThread.java +++ b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/AndroidScreenResponseThread.java @@ -23,8 +23,6 @@ public class AndroidScreenResponseThread extends ImageScreenResponse { private AdbDevice adbDevice; - private byte[] lastData; - private final Logger logger = LoggerFactory.getLogger(AndroidScreenResponseThread.class); public AndroidScreenResponseThread(AdbDevice adbDevice) { @@ -107,7 +105,7 @@ public class AndroidScreenResponseThread extends ImageScreenResponse { } //录屏 if (null != screenRecorder) { - screenRecorder.addImgToVideo(screenPicContent); + screenRecorder.addImgToVideo(this.lastData); } //有后端会话则给后端推送屏幕图片 if (!CollectionUtils.isEmpty(webSessions)) { @@ -120,7 +118,7 @@ public class AndroidScreenResponseThread extends ImageScreenResponse { sendDeviceStatus = false; } logger.info("设备【{}】发送图片到微服务:{}张",adbDevice.getSerial(),send++); - SessionUtils.sendBinary(webSession, screenPicContent); + SessionUtils.sendBinary(webSession, this.lastData); logger.info("设备【{}】发送图片到微服务完成:{}张",adbDevice.getSerial(),send); } else { logger.warn("推送到web端的session已经断开,sessionId:{}",webSession.getId()); diff --git a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/ImageScreenResponse.java b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/ImageScreenResponse.java index e67e638..a855ce8 100644 --- a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/ImageScreenResponse.java +++ b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/ImageScreenResponse.java @@ -32,6 +32,8 @@ public abstract class ImageScreenResponse extends Thread{ protected CatchParam catchParam; + protected byte[] lastData; + public void setCatchParam(CatchParam catchParam) { this.catchParam = catchParam; } @@ -83,7 +85,17 @@ public abstract class ImageScreenResponse extends Thread{ Map messageMap = new HashMap<>(); messageMap.put(ResponseCmd.DeviceStatus.STATUS, ResponseCmd.DeviceStatus.CONNECTING); SessionUtils.sendMessageInitiative(session, ResponseCmd.DEVICE_STATUS, deviceId, messageMap, "设备掉线了"); - this.sendDeviceStatus = true; + logger.info("发送设备【{}】最后一张图片到前端..............",deviceId); + if (null != this.lastData) { + Map result = new HashMap<>(); + result.put(ResponseCmd.DeviceStatus.STATUS, ResponseCmd.DeviceStatus.CONNECTED); + SessionUtils.sendMessageInitiative(session, ResponseCmd.DEVICE_STATUS, deviceId, result, "设备已连接"); + SessionUtils.sendBinary(session, this.lastData); + } else { + logger.info("发送设备【{}】最后一张图片是空,获取到了再发..............",deviceId); + this.sendDeviceStatus = true; + } + } public void setSendDeviceStatus(boolean sendDeviceStatus) {