diff --git a/app/src/main/java/org/yameida/worktool/service/GlobalMethod.kt b/app/src/main/java/org/yameida/worktool/service/GlobalMethod.kt index afa8c7c..2a57b51 100644 --- a/app/src/main/java/org/yameida/worktool/service/GlobalMethod.kt +++ b/app/src/main/java/org/yameida/worktool/service/GlobalMethod.kt @@ -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 diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt index 8c765b0..9cb65fc 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt @@ -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, diff --git a/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt b/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt index dbd18fa..3e81faf 100644 --- a/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt +++ b/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt @@ -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,