update 优化消息列表识别(等待加载)
This commit is contained in:
@@ -642,7 +642,6 @@ object WeworkLoopImpl {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//todo 发视频和文件也可能存在上传中状态
|
|
||||||
if (textType == WeworkMessageBean.TEXT_TYPE_LINK && itemMessageList.size == 1
|
if (textType == WeworkMessageBean.TEXT_TYPE_LINK && itemMessageList.size == 1
|
||||||
&& itemMessageList[0].text.matches("[0-9]+%".toRegex())) {
|
&& itemMessageList[0].text.matches("[0-9]+%".toRegex())) {
|
||||||
textType = WeworkMessageBean.TEXT_TYPE_IMAGE
|
textType = WeworkMessageBean.TEXT_TYPE_IMAGE
|
||||||
|
|||||||
@@ -209,6 +209,13 @@ object WeworkTextUtil {
|
|||||||
*/
|
*/
|
||||||
fun getTextType(node: AccessibilityNodeInfo?, isGroup: Boolean = true): Int {
|
fun getTextType(node: AccessibilityNodeInfo?, isGroup: Boolean = true): Int {
|
||||||
if (node == null) return WeworkMessageBean.TEXT_TYPE_UNKNOWN
|
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 tvList = findAllOnceByClazz(node, Views.TextView)
|
||||||
val tvCount = tvList.size
|
val tvCount = tvList.size
|
||||||
val ivCount = findAllOnceByClazz(node, Views.ImageView).size
|
val ivCount = findAllOnceByClazz(node, Views.ImageView).size
|
||||||
@@ -246,7 +253,12 @@ object WeworkTextUtil {
|
|||||||
}
|
}
|
||||||
tvCount == 4 && ivCount == 2 -> WeworkMessageBean.TEXT_TYPE_VOICE
|
tvCount == 4 && ivCount == 2 -> WeworkMessageBean.TEXT_TYPE_VOICE
|
||||||
tvCount == 5 && ivCount == 1 -> WeworkMessageBean.TEXT_TYPE_CARD
|
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
|
tvCount == 3 && ivCount == 0 -> WeworkMessageBean.TEXT_TYPE_REPLY
|
||||||
else -> WeworkMessageBean.TEXT_TYPE_UNKNOWN
|
else -> WeworkMessageBean.TEXT_TYPE_UNKNOWN
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user