多次点击获取多次uiNode

master
yineng.huang 2024-07-15 17:59:24 +08:00
parent 43c7fc7eb0
commit cd09e7e35f
1 changed files with 5 additions and 6 deletions

View File

@ -26,7 +26,7 @@ public class GetNodeTreeThread extends Thread {
private boolean keepPushNode = true; //前端是否打开了获取ui节点 private boolean keepPushNode = true; //前端是否打开了获取ui节点
private boolean gettingNode = false; //正在获取ui树 private long lastGetNodeTime; //最近一次获取的时间
private boolean longTimeGetNode = false; //是否长时间没有点击等操作,一直获取 private boolean longTimeGetNode = false; //是否长时间没有点击等操作,一直获取
@ -47,7 +47,6 @@ public class GetNodeTreeThread extends Thread {
while (!isInterrupted()) { while (!isInterrupted()) {
if (keepPushNode) { if (keepPushNode) {
try { try {
gettingNode = true; //正在获取uiNode
IosDeviceInitThread iosInitThread = IOSDeviceManager.getInstance().getIosInitThread(deviceId); IosDeviceInitThread iosInitThread = IOSDeviceManager.getInstance().getIosInitThread(deviceId);
if (null == iosInitThread || iosInitThread.isInterrupted() || !iosInitThread.isAlive()) { if (null == iosInitThread || iosInitThread.isInterrupted() || !iosInitThread.isAlive()) {
logger.debug("设备【{}】掉线了,等一下,不要急........................", deviceId); logger.debug("设备【{}】掉线了,等一下,不要急........................", deviceId);
@ -55,7 +54,7 @@ public class GetNodeTreeThread extends Thread {
} }
UiNodeData uiNodeData = iosInitThread.getNkAgent().uiTreeNode(); UiNodeData uiNodeData = iosInitThread.getNkAgent().uiTreeNode();
logger.debug("获取结束nodeData空{}", uiNodeData == null); logger.debug("获取结束nodeData空{}", uiNodeData == null);
gettingNode = false; //uiNode获取完毕 lastGetNodeTime = System.currentTimeMillis(); //uiNode获取完毕记录一下时间
SessionUtils.sendContinuousData(session, request, uiNodeData, "获取节点树成功"); SessionUtils.sendContinuousData(session, request, uiNodeData, "获取节点树成功");
} catch (IllegalStateException e) { } catch (IllegalStateException e) {
logger.warn("webSession已经关闭",e); logger.warn("webSession已经关闭",e);
@ -110,7 +109,6 @@ public class GetNodeTreeThread extends Thread {
public void startGetNodeTree(CmdRequest request) { public void startGetNodeTree(CmdRequest request) {
this.request = request; this.request = request;
this.keepPushNode = true; this.keepPushNode = true;
this.gettingNode = false;
this.longTimeGetNode = false; this.longTimeGetNode = false;
synchronized (lock) { synchronized (lock) {
logger.debug("设备【{}】开始获取节点树...................", deviceId); logger.debug("设备【{}】开始获取节点树...................", deviceId);
@ -126,8 +124,9 @@ public class GetNodeTreeThread extends Thread {
public void getOnceNodeTree() { public void getOnceNodeTree() {
longTimeGetNode = false; longTimeGetNode = false;
if (keepPushNode) { if (keepPushNode) {
if (gettingNode) { long currentTime = System.currentTimeMillis();
logger.warn("设备【{}】正在获取uiNode.............", deviceId); if (currentTime - lastGetNodeTime < 2000) {
logger.warn("设备【{}】刚获取完uiNode先不获取了.............", deviceId);
} else { } else {
synchronized (lock) { synchronized (lock) {
logger.debug("设备【{}】操作了,获取一次节点树...................", deviceId); logger.debug("设备【{}】操作了,获取一次节点树...................", deviceId);