From 7c6adc3bc5a2795739fa0712a028d7aaf171a193 Mon Sep 17 00:00:00 2001 From: gallonyin Date: Tue, 17 Jan 2023 15:22:21 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=8F=8C=E9=87=8D=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worktool/service/WeworkLoopImpl.kt | 40 ++++++++++++++----- .../worktool/service/WeworkOperationImpl.kt | 1 + 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt b/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt index 1bd3e72..f93ecc0 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt @@ -116,17 +116,39 @@ object WeworkLoopImpl { val title = titleList.joinToString() LogUtils.v("聊天: $title") log("聊天: $title") - //聊天消息列表 1ListView 0RecycleView xViewGroup - val list = AccessibilityUtil.findOneByClazz(getRoot(), Views.ListView) - if (list != null) { - LogUtils.v("消息条数: " + list.childCount) - val messageList = arrayListOf() - for (i in 0 until list.childCount) { - val item = list.getChild(i) - if (item != null && item.childCount > 0) { - messageList.add(parseChatMessageItem(item, roomType)) + val messageList = arrayListOf() + val messageList2 = arrayListOf() + do { + messageList.clear() + messageList2.clear() + //聊天消息列表 1ListView 0RecycleView xViewGroup + val list = AccessibilityUtil.findOneByClazz(getRoot(), Views.ListView) + if (list != null) { + LogUtils.v("消息条数: " + list.childCount) + for (i in 0 until list.childCount) { + val item = list.getChild(i) + if (item != null && item.childCount > 0) { + messageList.add(parseChatMessageItem(item, roomType)) + } } } + sleep(Constant.POP_WINDOW_INTERVAL / 5) + LogUtils.v("双重校验聊天列表") + val list2 = AccessibilityUtil.findOneByClazz(getRoot(), Views.ListView) + if (list2 != null) { + LogUtils.v("list2消息条数: " + list2.childCount) + for (i in 0 until list2.childCount) { + val item = list2.getChild(i) + if (item != null && item.childCount > 0) { + messageList2.add(parseChatMessageItem(item, roomType)) + } + } + } + if (messageList != messageList2) { + LogUtils.e("双重校验聊天列表失败") + } + } while (messageList != messageList2) + if (messageList.isNotEmpty()) { WeworkController.weworkService.webSocketManager.send( WeworkMessageBean( null, null, diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt index b31713a..9ed85f8 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt @@ -1608,6 +1608,7 @@ object WeworkOperationImpl { LogUtils.d("发送消息: \n$content") log("发送消息: \n$content") AccessibilityUtil.performClick(sendButton) + sleep(Constant.POP_WINDOW_INTERVAL) WeworkLoopImpl.getChatMessageList() return true } else {