From 9c3610cfcd0df224f3816ee460ac374eef410f50 Mon Sep 17 00:00:00 2001 From: gallonyin Date: Sun, 24 Sep 2023 00:06:57 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=87=AA=E5=8A=A8=E7=BE=A4=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worktool/service/WeworkLoopImpl.kt | 31 +++++++++++++++++++ .../worktool/utils/AccessibilityExtraUtil.kt | 4 +-- .../org/yameida/worktool/utils/Views.java | 1 + 3 files changed, 34 insertions(+), 2 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 141bbef..afd2da0 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt @@ -346,6 +346,37 @@ object WeworkLoopImpl { } } } else { + if (titleList.size > 0) { + val title = titleList[0] + if (title == "群发助手") { + LogUtils.d("使用功能: 群发助手") + val list = AccessibilityUtil.findOneByClazz(getRoot(), Views.ListView) + if (list != null) { + val childCount = list.childCount + for (i in 0 until list.childCount) { + val item = list.getChild(childCount - 1 - i) + if (item != null && item.childCount > 0) { + LogUtils.d("点击群发") + AccessibilityUtil.printNodeClazzTree(item) + AccessibilityUtil.clickByNode(WeworkController.weworkService, AccessibilityUtil.findOnceByClazz(item, Views.FrameLayout)) + if (AccessibilityExtraUtil.loadingPage("EnterpriseCustomerEnterpriseMassMessageDetailActivity")) { + AccessibilityUtil.findOneByText(getRoot(), "发送") + if (AccessibilityUtil.findOnceByText(getRoot(), "已发送", exact = true) != null) { + LogUtils.d("该条群发已发送") + backPress() + } else { + if (AccessibilityUtil.findTextAndClick(getRoot(), "发送", exact = true)) { + LogUtils.d("发送该条群发") + AccessibilityUtil.findOneByText(getRoot(), "已发送", exact = true) + } + backPress() + } + } + } + } + } + } + } LogUtils.v("退出非聊天房间 ${WeworkController.weworkService.currentClass}") } return false diff --git a/app/src/main/java/org/yameida/worktool/utils/AccessibilityExtraUtil.kt b/app/src/main/java/org/yameida/worktool/utils/AccessibilityExtraUtil.kt index b88d3c5..8bb90ab 100644 --- a/app/src/main/java/org/yameida/worktool/utils/AccessibilityExtraUtil.kt +++ b/app/src/main/java/org/yameida/worktool/utils/AccessibilityExtraUtil.kt @@ -29,13 +29,13 @@ object AccessibilityExtraUtil { var currentTime = startTime while (currentTime - startTime <= timeout) { if (service.currentClass in clazzList || service.currentClass.split(".").last() in clazzList) { - Log.v(tag, "loadingPage: $clazzList") + Log.v(tag, "loadingPage: ${clazzList.joinToString()}") return true } sleep(SHORT_INTERVAL) currentTime = System.currentTimeMillis() } - Log.e(tag, "loadingPage: not found: $clazzList current: ${service.currentClass}") + Log.e(tag, "loadingPage: not found: ${clazzList.joinToString()} current: ${service.currentClass}") return false } diff --git a/app/src/main/java/org/yameida/worktool/utils/Views.java b/app/src/main/java/org/yameida/worktool/utils/Views.java index 82e5cbc..d177a23 100644 --- a/app/src/main/java/org/yameida/worktool/utils/Views.java +++ b/app/src/main/java/org/yameida/worktool/utils/Views.java @@ -15,4 +15,5 @@ public class Views { public static String ProgressBar = "android.widget.ProgressBar"; public static String ScrollView = "android.widget.ScrollView"; public static String CheckBox = "android.widget.CheckBox"; + public static String FrameLayout = "android.widget.FrameLayout"; }