update 支持使用别名拉人踢人和发消息转发消息;意外跳出企微可自动跳回

This commit is contained in:
gallonyin
2022-11-03 19:30:01 +08:00
parent 477fa194cb
commit 298eeb7a51
3 changed files with 21 additions and 4 deletions

View File

@@ -1,10 +1,12 @@
package org.yameida.worktool.service
import android.content.Intent
import android.graphics.Rect
import android.view.accessibility.AccessibilityNodeInfo
import com.blankj.utilcode.util.GsonUtils
import com.blankj.utilcode.util.LogUtils
import com.blankj.utilcode.util.ScreenUtils
import com.blankj.utilcode.util.Utils
import com.hjq.toast.ToastUtils
import org.yameida.worktool.Constant
import org.yameida.worktool.MyApplication
@@ -102,6 +104,13 @@ fun getRoot(ignoreCheck: Boolean): AccessibilityNodeInfo {
LogUtils.e("当前不在企业微信: ${root.packageName}")
if (System.currentTimeMillis() % 30 == 0L) {
error("当前不在企业微信: ${root.packageName}")
if (!root.packageName.contains("(worktool)|(settings)".toRegex())) {
ToastUtils.show("当前不在企业微信: ${root.packageName}\n尝试跳转到企业微信")
Utils.getApp().packageManager.getLaunchIntentForPackage(Constant.PACKAGE_NAMES)?.apply {
this.flags = Intent.FLAG_ACTIVITY_NEW_TASK
Utils.getApp().startActivity(this)
}
}
}
if (ignoreCheck) {
return root

View File

@@ -791,7 +791,9 @@ object WeworkOperationImpl {
sleep(Constant.CHANGE_PAGE_INTERVAL)
val selectListView = AccessibilityUtil.findOneByClazz(getRoot(), Views.ListView, Views.RecyclerView, Views.ViewGroup, minChildCount = 2)
val reverseRegexTitle = RegexHelper.reverseRegexTitle(trimTitle)
val regex = "^$reverseRegexTitle" + if (needTrim) ".*?" else "(-.*)?(…)?(\\(.*?\\))?$"
val regex1 = "^$reverseRegexTitle" + if (needTrim) ".*?" else "(-.*)?(…)?(\\(.*?\\))?$"
val regex2 = ".*?\\($reverseRegexTitle\\)$"
val regex = "($regex1)|($regex2)"
val matchSelect = AccessibilityUtil.findOneByTextRegex(
selectListView,
regex,
@@ -943,7 +945,9 @@ object WeworkOperationImpl {
sleep(Constant.POP_WINDOW_INTERVAL)
val selectListView = AccessibilityUtil.findOneByClazz(getRoot(), Views.ListView, Views.RecyclerView, Views.ViewGroup, minChildCount = 2, firstChildClazz = Views.TextView)
val reverseRegexTitle = RegexHelper.reverseRegexTitle(trimTitle)
val regex = "^$reverseRegexTitle" + if (needTrim) ".*?" else "(-.*)?(…)?(\\(.*?\\))?$"
val regex1 = "^$reverseRegexTitle" + if (needTrim) ".*?" else "(-.*)?(…)?(\\(.*?\\))?$"
val regex2 = ".*?\\($reverseRegexTitle\\)$"
val regex = "($regex1)|($regex2)"
val matchSelect = AccessibilityUtil.findOneByTextRegex(
selectListView,
regex,
@@ -1038,7 +1042,9 @@ object WeworkOperationImpl {
sleep(Constant.POP_WINDOW_INTERVAL)
val selectListView = AccessibilityUtil.findOneByClazz(getRoot(), Views.ListView, Views.RecyclerView, Views.ViewGroup, minChildCount = 2, firstChildClazz = Views.RelativeLayout)
val reverseRegexTitle = RegexHelper.reverseRegexTitle(trimTitle)
val regex = "^$reverseRegexTitle" + if (needTrim) ".*?" else "(-.*)?(…)?(\\(.*?\\))?$"
val regex1 = "^$reverseRegexTitle" + if (needTrim) ".*?" else "(-.*)?(…)?(\\(.*?\\))?$"
val regex2 = ".*?\\($reverseRegexTitle\\)$"
val regex = "($regex1)|($regex2)"
val matchSelect = AccessibilityUtil.findOneByTextRegex(
selectListView,
regex,

View File

@@ -105,7 +105,9 @@ object WeworkRoomUtil {
//消息页搜索结果列表
val selectListView = findOneByClazz(getRoot(), Views.ListView)
val reverseRegexTitle = RegexHelper.reverseRegexTitle(trimTitle)
val regex = "^$reverseRegexTitle" + if (needTrim) ".*?" else "(-.*)?(…)?(\\(.*?\\))?$"
val regex1 = "^$reverseRegexTitle" + if (needTrim) ".*?" else "(-.*)?(…)?(\\(.*?\\))?$"
val regex2 = ".*?\\($reverseRegexTitle\\)$"
val regex = "($regex1)|($regex2)"
val searchResult = AccessibilityUtil.findAllByTextRegex(
selectListView,
regex,