From 8511e4932d5f61d878ba2abf9991edb21899fa59 Mon Sep 17 00:00:00 2001 From: gallonyin Date: Thu, 12 Jan 2023 16:46:30 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=8F=91=E9=80=81=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yameida/worktool/service/GlobalMethod.kt | 1 + .../worktool/service/WeworkOperationImpl.kt | 42 ++++++++++++++++++- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/yameida/worktool/service/GlobalMethod.kt b/app/src/main/java/org/yameida/worktool/service/GlobalMethod.kt index 16fdf25..f7c7385 100644 --- a/app/src/main/java/org/yameida/worktool/service/GlobalMethod.kt +++ b/app/src/main/java/org/yameida/worktool/service/GlobalMethod.kt @@ -108,6 +108,7 @@ fun getRoot(ignoreCheck: Boolean): AccessibilityNodeInfo { return root } else { LogUtils.e("当前不在企业微信: ${root.packageName}") + WeworkController.weworkService.currentPackage = root.packageName?.toString() ?: "" if (System.currentTimeMillis() % 30 == 0L) { error("当前不在企业微信: ${root.packageName}") if (!root.packageName.contains("(worktool)|(settings)".toRegex())) { 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..00e0376 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt @@ -573,8 +573,27 @@ object WeworkOperationImpl { newFile.writeBytes(body.bytes()) LogUtils.i("文件存储本地成功 $filePath") ShareUtil.share("${if (fileType.isBlank()) "*" else fileType}/*", newFile) - val shareToWorkButton = AccessibilityUtil.findOneByText(getRoot(true), "发送给同事") + var shareToWorkButton = AccessibilityUtil.findOneByText(getRoot(true), "发送给同事") + sleep(Constant.POP_WINDOW_INTERVAL) AccessibilityUtil.performClick(shareToWorkButton) + sleep(Constant.POP_WINDOW_INTERVAL) + shareToWorkButton = AccessibilityUtil.findOnceByText(getRoot(true), "发送给同事") + LogUtils.v("尝试发送给同事", shareToWorkButton == null, WeworkController.weworkService.currentPackage) + val startTime = System.currentTimeMillis() + var currentTime = startTime + while (currentTime - startTime < 5000) { + if (shareToWorkButton != null + && WeworkController.weworkService.currentPackage != Constant.PACKAGE_NAMES) { + LogUtils.e("尝试手势点击!!!!!") + AccessibilityUtil.printNodeClazzTree(shareToWorkButton) + AccessibilityUtil.clickByNode(WeworkController.weworkService, shareToWorkButton) + sleep(Constant.CHANGE_PAGE_INTERVAL) + shareToWorkButton = AccessibilityUtil.findOnceByText(getRoot(true), "发送给同事") + } else { + break + } + currentTime = System.currentTimeMillis() + } if (relaySelectTarget(titleList, extraText, timeout = 10000)) { val stayButton = AccessibilityUtil.findOneByText(getRoot(), "留在企业微信") AccessibilityUtil.performClick(stayButton) @@ -621,8 +640,27 @@ object WeworkOperationImpl { newFile.writeBytes(EncodeUtils.base64Decode(fileBase64)) LogUtils.i("文件存储本地成功 $filePath") ShareUtil.share("${if (fileType.isBlank()) "*" else fileType}/*", newFile) - val shareToWorkButton = AccessibilityUtil.findOneByText(getRoot(true), "发送给同事") + var shareToWorkButton = AccessibilityUtil.findOneByText(getRoot(true), "发送给同事") + sleep(Constant.POP_WINDOW_INTERVAL) AccessibilityUtil.performClick(shareToWorkButton) + sleep(Constant.POP_WINDOW_INTERVAL) + shareToWorkButton = AccessibilityUtil.findOnceByText(getRoot(true), "发送给同事") + LogUtils.v("尝试发送给同事", shareToWorkButton == null, WeworkController.weworkService.currentPackage) + val startTime = System.currentTimeMillis() + var currentTime = startTime + while (currentTime - startTime < 5000) { + if (shareToWorkButton != null + && WeworkController.weworkService.currentPackage != Constant.PACKAGE_NAMES) { + LogUtils.e("尝试手势点击!!!!!") + AccessibilityUtil.printNodeClazzTree(shareToWorkButton) + AccessibilityUtil.clickByNode(WeworkController.weworkService, shareToWorkButton) + sleep(Constant.CHANGE_PAGE_INTERVAL) + shareToWorkButton = AccessibilityUtil.findOnceByText(getRoot(true), "发送给同事") + } else { + break + } + currentTime = System.currentTimeMillis() + } if (relaySelectTarget(titleList, extraText, timeout = 10000)) { val stayButton = AccessibilityUtil.findOneByText(getRoot(), "留在企业微信") AccessibilityUtil.performClick(stayButton)