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