From d09308e8fad0d685ad212fe9d4a151d7fc7c1a16 Mon Sep 17 00:00:00 2001 From: gallonyin Date: Sun, 2 Apr 2023 21:55:14 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=AF=B9=E6=9F=90=E4=B8=AA=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E6=88=96=E5=AD=90=E8=8A=82=E7=82=B9=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E7=82=B9=E5=87=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worktool/utils/AccessibilityUtil.kt | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/org/yameida/worktool/utils/AccessibilityUtil.kt b/app/src/main/java/org/yameida/worktool/utils/AccessibilityUtil.kt index ca9d20d..30d1c88 100644 --- a/app/src/main/java/org/yameida/worktool/utils/AccessibilityUtil.kt +++ b/app/src/main/java/org/yameida/worktool/utils/AccessibilityUtil.kt @@ -349,23 +349,21 @@ object AccessibilityUtil { * 对某个节点或子节点进行点击 */ fun performClickWithSon(nodeInfo: AccessibilityNodeInfo?): Boolean { - var nodeInfo: AccessibilityNodeInfo? = nodeInfo ?: return false - while (nodeInfo != null) { - if (nodeInfo.isClickable) { - nodeInfo.performAction(AccessibilityNodeInfo.ACTION_CLICK) - return true - } - if (nodeInfo.childCount > 0) { - for (i in 0 until nodeInfo.childCount) { - if (performClickWithSon(nodeInfo.getChild(i))) { - return true - } - } - } else { - nodeInfo = null - } + if (nodeInfo == null) return false + if (nodeInfo.isClickable) { + nodeInfo.performAction(AccessibilityNodeInfo.ACTION_CLICK) + return true + } + if (nodeInfo.childCount > 0) { + for (i in 0 until nodeInfo.childCount) { + if (performClickWithSon(nodeInfo.getChild(i))) { + return true + } + } + return false + } else { + return false } - return false } /**