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 6867e7a..8249103 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt @@ -352,27 +352,47 @@ object WeworkLoopImpl { 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) + var findDayFlag = false + while (!findDayFlag) { + val childCount = list.childCount + for (i in 0 until list.childCount) { + if (findDayFlag) { + break + } + val item = list.getChild(childCount - 1 - i) + if (AccessibilityUtil.findOnceByText(item, "午") != null) { + findDayFlag = true + } + if (item != null && item.childCount > 0) { + LogUtils.d("点击群发") + AccessibilityUtil.clickByNode(WeworkController.weworkService, AccessibilityUtil.findOnceByClazz(item, Views.FrameLayout)) + if (!AccessibilityExtraUtil.loadingPage("EnterpriseCustomerEnterpriseMassMessageDetailActivity")) { + AccessibilityUtil.clickByNode(WeworkController.weworkService, AccessibilityUtil.findOnceByClazz(item, Views.FrameLayout)) + } + if (AccessibilityExtraUtil.loadingPage("EnterpriseCustomerEnterpriseMassMessageDetailActivity")) { + AccessibilityUtil.findOneByText(getRoot(), "发送") + sleep(Constant.POP_WINDOW_INTERVAL) + 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() + sleep(Constant.POP_WINDOW_INTERVAL) } - backPress() } } } + if (findDayFlag) { + break + } + AccessibilityUtil.performScrollUp(list) + sleep(Constant.CHANGE_PAGE_INTERVAL) + list.refresh() + LogUtils.d("向上滚动查找当日日期") } } }