update 优化查找无提示消息

This commit is contained in:
gallonyin
2023-01-06 11:26:27 +08:00
parent 0873420bf4
commit 4684ebc927
2 changed files with 21 additions and 1 deletions

View File

@@ -284,17 +284,33 @@ object WeworkLoopImpl {
LogUtils.e("读取聊天列表失败") LogUtils.e("读取聊天列表失败")
error("读取聊天列表失败") error("读取聊天列表失败")
} }
if (logIndex % 120 == 0) { if (logIndex % 600 == 0) {
//让企微切换页面使APP保持活跃 //让企微切换页面使APP保持活跃
goHomeTab("通讯录") goHomeTab("通讯录")
goHomeTab("消息") goHomeTab("消息")
//滚动到顶端查看是否有无提示消息 //滚动到顶端查看是否有无提示消息
AccessibilityUtil.scrollToTop(WeworkController.weworkService, getRoot()) AccessibilityUtil.scrollToTop(WeworkController.weworkService, getRoot())
//如果有新消息则停止
val list = AccessibilityUtil.findAllOnceByText(getRoot(), "消息", exact = true)
for (item in list) {
val childCount = item.parent?.parent?.parent?.childCount
if (childCount == 4 || childCount == 5) {
if (item.parent != null && item.parent.childCount > 1) {
return false
}
}
}
if (!mainLoopRunning) {
return false
}
val listview = AccessibilityUtil.findOneByClazz(getRoot(), Views.RecyclerView, Views.ListView, Views.ViewGroup) val listview = AccessibilityUtil.findOneByClazz(getRoot(), Views.RecyclerView, Views.ListView, Views.ViewGroup)
if (listview != null && listview.childCount >= 2) { if (listview != null && listview.childCount >= 2) {
if (checkNoTipMessage(listview) != 1) { if (checkNoTipMessage(listview) != 1) {
AccessibilityUtil.scrollToBottom(WeworkController.weworkService, getRoot(), listener = object : AccessibilityUtil.OnScrollListener() { AccessibilityUtil.scrollToBottom(WeworkController.weworkService, getRoot(), listener = object : AccessibilityUtil.OnScrollListener() {
override fun onScroll(): Boolean { override fun onScroll(): Boolean {
if (!mainLoopRunning) {
return true
}
if (checkNoTipMessage(listview) != 0) { if (checkNoTipMessage(listview) != 0) {
return true return true
} }

View File

@@ -239,6 +239,10 @@ object AccessibilityUtil {
break break
} else { } else {
LogUtils.v("未滚动到底部 $index") LogUtils.v("未滚动到底部 $index")
if (listener != null && listener.onScroll()) {
LogUtils.d("提前终止滚动")
return true
}
} }
} }
return true return true