连接时,立马发缓存的最后一张图片到前端
parent
47b6c0d728
commit
76a0e32244
|
@ -23,8 +23,6 @@ public class AndroidScreenResponseThread extends ImageScreenResponse {
|
||||||
|
|
||||||
private AdbDevice adbDevice;
|
private AdbDevice adbDevice;
|
||||||
|
|
||||||
private byte[] lastData;
|
|
||||||
|
|
||||||
private final Logger logger = LoggerFactory.getLogger(AndroidScreenResponseThread.class);
|
private final Logger logger = LoggerFactory.getLogger(AndroidScreenResponseThread.class);
|
||||||
|
|
||||||
public AndroidScreenResponseThread(AdbDevice adbDevice) {
|
public AndroidScreenResponseThread(AdbDevice adbDevice) {
|
||||||
|
@ -107,7 +105,7 @@ public class AndroidScreenResponseThread extends ImageScreenResponse {
|
||||||
}
|
}
|
||||||
//录屏
|
//录屏
|
||||||
if (null != screenRecorder) {
|
if (null != screenRecorder) {
|
||||||
screenRecorder.addImgToVideo(screenPicContent);
|
screenRecorder.addImgToVideo(this.lastData);
|
||||||
}
|
}
|
||||||
//有后端会话则给后端推送屏幕图片
|
//有后端会话则给后端推送屏幕图片
|
||||||
if (!CollectionUtils.isEmpty(webSessions)) {
|
if (!CollectionUtils.isEmpty(webSessions)) {
|
||||||
|
@ -120,7 +118,7 @@ public class AndroidScreenResponseThread extends ImageScreenResponse {
|
||||||
sendDeviceStatus = false;
|
sendDeviceStatus = false;
|
||||||
}
|
}
|
||||||
logger.info("设备【{}】发送图片到微服务:{}张",adbDevice.getSerial(),send++);
|
logger.info("设备【{}】发送图片到微服务:{}张",adbDevice.getSerial(),send++);
|
||||||
SessionUtils.sendBinary(webSession, screenPicContent);
|
SessionUtils.sendBinary(webSession, this.lastData);
|
||||||
logger.info("设备【{}】发送图片到微服务完成:{}张",adbDevice.getSerial(),send);
|
logger.info("设备【{}】发送图片到微服务完成:{}张",adbDevice.getSerial(),send);
|
||||||
} else {
|
} else {
|
||||||
logger.warn("推送到web端的session已经断开,sessionId:{}",webSession.getId());
|
logger.warn("推送到web端的session已经断开,sessionId:{}",webSession.getId());
|
||||||
|
|
|
@ -32,6 +32,8 @@ public abstract class ImageScreenResponse extends Thread{
|
||||||
|
|
||||||
protected CatchParam catchParam;
|
protected CatchParam catchParam;
|
||||||
|
|
||||||
|
protected byte[] lastData;
|
||||||
|
|
||||||
public void setCatchParam(CatchParam catchParam) {
|
public void setCatchParam(CatchParam catchParam) {
|
||||||
this.catchParam = catchParam;
|
this.catchParam = catchParam;
|
||||||
}
|
}
|
||||||
|
@ -83,7 +85,17 @@ public abstract class ImageScreenResponse extends Thread{
|
||||||
Map<String, Object> messageMap = new HashMap<>();
|
Map<String, Object> messageMap = new HashMap<>();
|
||||||
messageMap.put(ResponseCmd.DeviceStatus.STATUS, ResponseCmd.DeviceStatus.CONNECTING);
|
messageMap.put(ResponseCmd.DeviceStatus.STATUS, ResponseCmd.DeviceStatus.CONNECTING);
|
||||||
SessionUtils.sendMessageInitiative(session, ResponseCmd.DEVICE_STATUS, deviceId, messageMap, "设备掉线了");
|
SessionUtils.sendMessageInitiative(session, ResponseCmd.DEVICE_STATUS, deviceId, messageMap, "设备掉线了");
|
||||||
this.sendDeviceStatus = true;
|
logger.info("发送设备【{}】最后一张图片到前端..............",deviceId);
|
||||||
|
if (null != this.lastData) {
|
||||||
|
Map<String, Object> 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) {
|
public void setSendDeviceStatus(boolean sendDeviceStatus) {
|
||||||
|
|
Loading…
Reference in New Issue