update 优化at

This commit is contained in:
gallonyin
2022-12-13 19:17:06 +08:00
parent a12144c3fe
commit dc10faa320
2 changed files with 18 additions and 23 deletions

View File

@@ -1574,38 +1574,33 @@ object WeworkOperationImpl {
AccessibilityUtil.findOnceByClazz(getRoot(), Views.EditText), "@" AccessibilityUtil.findOnceByClazz(getRoot(), Views.EditText), "@"
) )
} }
val atFlag = AccessibilityUtil.findOneByText(getRoot(), "选择提醒的人", timeout = 2000, exact = true) val atFlag = AccessibilityUtil.findOneByText(getRoot(), "选择提醒的人", exact = true)
if (atFlag != null) { if (atFlag != null) {
val rv = AccessibilityUtil.findOneByClazz(getRoot(), Views.RecyclerView) val searchFlag = AccessibilityUtil.findOneByText(getRoot(), "搜索", exact = true)
if (rv != null) { val container = AccessibilityUtil.findBackNode(searchFlag, minChildCount = 2)?.parent
AccessibilityUtil.findTextInput(getRoot(), at.replace("\\(.*?\\)".toRegex(), "")) if (container != null) {
val atNode = val atNode = AccessibilityUtil.findOnceByTextRegex(container, "${RegexHelper.reverseRegexTitle(at)}(@.*)?")
AccessibilityUtil.findOneByText(rv, at.replace("\\(.*?\\)".toRegex(), ""), root = false, timeout = 2000)
if (atNode != null) { if (atNode != null) {
AccessibilityUtil.performClick(atNode) AccessibilityUtil.performClick(atNode)
} else { } else {
LogUtils.e("未找到at人: $at") AccessibilityUtil.findTextInput(getRoot(), at)
atFailed = true val atNodeList = AccessibilityUtil.findAllByTextRegex(container, "${RegexHelper.reverseRegexTitle(at)}(@.*)?", root = false, minSize = 2)
backPress() if (atNodeList.size > 1 && at != "@所有人") {
} AccessibilityUtil.performClick(atNodeList[1])
sleep(Constant.POP_WINDOW_INTERVAL)
} else {
val searchFlag = AccessibilityUtil.findOnceByText(getRoot(), "搜索", exact = true)
val list = AccessibilityUtil.findBackNode(searchFlag, minChildCount = 2)
if (list != null) {
AccessibilityUtil.findTextInput(getRoot(), at.replace("\\(.*?\\)".toRegex(), ""))
val atNode =
AccessibilityUtil.findOneByText(list, at.replace("\\(.*?\\)".toRegex(), ""), root = false, timeout = 2000)
if (atNode != null) {
AccessibilityUtil.performClick(atNode)
} else { } else {
LogUtils.e("未找到at人: $at") LogUtils.e("未找到at人: $at")
atFailed = true atFailed = true
backPress() backPress()
} }
sleep(Constant.POP_WINDOW_INTERVAL)
} }
sleep(Constant.POP_WINDOW_INTERVAL)
} else {
LogUtils.e("未找到搜索按钮和@列表")
backPress()
sleep(Constant.POP_WINDOW_INTERVAL)
} }
} else {
LogUtils.e("未找到选择提醒的人按钮")
} }
} }
} }

View File

@@ -631,7 +631,7 @@ object AccessibilityUtil {
timeout: Long = 5000, timeout: Long = 5000,
root: Boolean = true, root: Boolean = true,
minSize: Int = 1 minSize: Int = 1
): List<AccessibilityNodeInfo> { ): ArrayList<AccessibilityNodeInfo> {
var node = node ?: return arrayListOf() var node = node ?: return arrayListOf()
val startTime = System.currentTimeMillis() val startTime = System.currentTimeMillis()
var currentTime = startTime var currentTime = startTime
@@ -692,7 +692,7 @@ object AccessibilityUtil {
timeout: Long = 5000, timeout: Long = 5000,
root: Boolean = true, root: Boolean = true,
minSize: Int = 1 minSize: Int = 1
): List<AccessibilityNodeInfo> { ): ArrayList<AccessibilityNodeInfo> {
var node = node ?: return arrayListOf() var node = node ?: return arrayListOf()
val startTime = System.currentTimeMillis() val startTime = System.currentTimeMillis()
var currentTime = startTime var currentTime = startTime