update 优化消息列表识别(等待加载)

This commit is contained in:
gallonyin
2023-03-06 15:07:47 +08:00
parent b5376e0c37
commit ddf389297b
2 changed files with 13 additions and 2 deletions

View File

@@ -642,7 +642,6 @@ object WeworkLoopImpl {
}
}
}
//todo 发视频和文件也可能存在上传中状态
if (textType == WeworkMessageBean.TEXT_TYPE_LINK && itemMessageList.size == 1
&& itemMessageList[0].text.matches("[0-9]+%".toRegex())) {
textType = WeworkMessageBean.TEXT_TYPE_IMAGE

View File

@@ -209,6 +209,13 @@ object WeworkTextUtil {
*/
fun getTextType(node: AccessibilityNodeInfo?, isGroup: Boolean = true): Int {
if (node == null) return WeworkMessageBean.TEXT_TYPE_UNKNOWN
val startTime = System.currentTimeMillis()
while (System.currentTimeMillis() - startTime <= Constant.LONG_INTERVAL) {
node.refresh()
AccessibilityUtil.findOnceByClazz(node, Views.ProgressBar) ?: break
LogUtils.e("发现加载项 等待加载完成...")
sleep(Constant.POP_WINDOW_INTERVAL / 5)
}
val tvList = findAllOnceByClazz(node, Views.TextView)
val tvCount = tvList.size
val ivCount = findAllOnceByClazz(node, Views.ImageView).size
@@ -246,7 +253,12 @@ object WeworkTextUtil {
}
tvCount == 4 && ivCount == 2 -> WeworkMessageBean.TEXT_TYPE_VOICE
tvCount == 5 && ivCount == 1 -> WeworkMessageBean.TEXT_TYPE_CARD
tvCount == 1 && ivCount == 2 -> WeworkMessageBean.TEXT_TYPE_LOCATION
tvCount == 1 && ivCount == 2 -> {
if ((tvList[0].text?.toString() ?: "").matches("[0-9]+:[0-9]+".toRegex()))
WeworkMessageBean.TEXT_TYPE_VIDEO
else
WeworkMessageBean.TEXT_TYPE_LOCATION
}
tvCount == 3 && ivCount == 0 -> WeworkMessageBean.TEXT_TYPE_REPLY
else -> WeworkMessageBean.TEXT_TYPE_UNKNOWN
}