diff --git a/app/build.gradle b/app/build.gradle index ebdce92..a3dd881 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -67,8 +67,8 @@ android { applicationId "com.lu.wxmask" minSdk 24 targetSdk 34 - versionCode 23 - versionName "1.22-bug" + versionCode 24 + versionName "1.23-bug" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/lu/wxmask/Constrant.kt b/app/src/main/java/com/lu/wxmask/Constrant.kt index 453146a..eab8850 100644 --- a/app/src/main/java/com/lu/wxmask/Constrant.kt +++ b/app/src/main/java/com/lu/wxmask/Constrant.kt @@ -47,6 +47,7 @@ class Constrant { const val WX_CODE_8_0_42 = 2460 const val WX_CODE_8_0_43 = 2480 const val WX_CODE_8_0_44 = 2502 + const val WX_CODE_8_0_45 = 2521 } } \ No newline at end of file diff --git a/app/src/main/java/com/lu/wxmask/plugin/part/EmptySingChatHistoryGalleryPluginPart.kt b/app/src/main/java/com/lu/wxmask/plugin/part/EmptySingChatHistoryGalleryPluginPart.kt index b216ffe..d2630cf 100644 --- a/app/src/main/java/com/lu/wxmask/plugin/part/EmptySingChatHistoryGalleryPluginPart.kt +++ b/app/src/main/java/com/lu/wxmask/plugin/part/EmptySingChatHistoryGalleryPluginPart.kt @@ -42,6 +42,7 @@ class EmptySingChatHistoryGalleryPluginPart : IPlugin { in Constrant.WX_CODE_8_0_32..Constrant.WX_CODE_8_0_35 -> "k" in Constrant.WX_CODE_8_0_35..Constrant.WX_CODE_8_0_43 -> "l" in Constrant.WX_CODE_8_0_43..Constrant.WX_CODE_8_0_44 -> "z" + in Constrant.WX_CODE_8_0_44..Constrant.WX_CODE_8_0_45 -> "A" else -> "l" } val MediaHistoryListUI = "com.tencent.mm.ui.chatting.gallery.MediaHistoryListUI" @@ -217,9 +218,9 @@ class EmptySingChatHistoryGalleryPluginPart : IPlugin { Constrant.WX_CODE_8_0_35 -> "P" Constrant.WX_CODE_8_0_37 -> "Q" Constrant.WX_CODE_8_0_38 -> "R" - Constrant.WX_CODE_8_0_44 -> "D" in Constrant.WX_CODE_8_0_40..Constrant.WX_CODE_8_0_41, Constrant.WX_CODE_8_0_43 -> "Q" in Constrant.WX_CODE_8_0_41..Constrant.WX_CODE_8_0_42 -> "R" + in Constrant.WX_CODE_8_0_44..Constrant.WX_CODE_8_0_45 -> "D" else -> null } LogUtil.d("setEmptyActionBarTabPageUI method is :", commonHookMethodName) diff --git a/app/src/main/java/com/lu/wxmask/plugin/part/EnterChattingUIPluginPart.kt b/app/src/main/java/com/lu/wxmask/plugin/part/EnterChattingUIPluginPart.kt index ae7a093..deed043 100644 --- a/app/src/main/java/com/lu/wxmask/plugin/part/EnterChattingUIPluginPart.kt +++ b/app/src/main/java/com/lu/wxmask/plugin/part/EnterChattingUIPluginPart.kt @@ -73,7 +73,7 @@ class EnterChattingUIPluginPart() : IPlugin { Constrant.WX_CODE_8_0_38 -> "M" in Constrant.WX_CODE_8_0_40..Constrant.WX_CODE_8_0_41 -> "K" in Constrant.WX_CODE_8_0_41..Constrant.WX_CODE_8_0_42 -> "M" - Constrant.WX_CODE_8_0_44 -> "z" + in Constrant.WX_CODE_8_0_44 .. Constrant.WX_CODE_8_0_45 -> "z" else -> null } var dispatchMethod: Method? = null @@ -162,7 +162,7 @@ class EnterChattingHookAction( if (listView == null) { listView = runCatching { val mmListViewId = - if (AppVersionUtil.getVersionCode() in Constrant.WX_CODE_8_0_42..Constrant.WX_CODE_8_0_44) { + if (AppVersionUtil.getVersionCode() in Constrant.WX_CODE_8_0_42..Constrant.WX_CODE_8_0_45) { ResUtil.getViewId("bm6") } else { ResUtil.getViewId("b5n") diff --git a/app/src/main/java/com/lu/wxmask/plugin/part/HideMainUIListPluginPart.kt b/app/src/main/java/com/lu/wxmask/plugin/part/HideMainUIListPluginPart.kt index c9fe7bd..b527329 100644 --- a/app/src/main/java/com/lu/wxmask/plugin/part/HideMainUIListPluginPart.kt +++ b/app/src/main/java/com/lu/wxmask/plugin/part/HideMainUIListPluginPart.kt @@ -219,9 +219,10 @@ class HideMainUIListPluginPart : IPlugin { in Constrant.WX_CODE_8_0_35..Constrant.WX_CODE_8_0_38 -> "com.tencent.mm.ui.z" in Constrant.WX_CODE_8_0_40..Constrant.WX_CODE_8_0_43 -> "com.tencent.mm.ui.b0" in Constrant.WX_CODE_8_0_43 .. Constrant.WX_CODE_8_0_44 -> "com.tencent.mm.ui.h3" + in Constrant.WX_CODE_8_0_43 .. Constrant.WX_CODE_8_0_45 -> "com.tencent.mm.ui.i3" else -> null } - var getItemMethod = if (adapterClazzName != null && getItemMethodName != null) { + var getItemMethod = if (adapterClazzName != null) { XposedHelpers2.findMethodExactIfExists(adapterClazzName, AppUtil.getClassLoader(), getItemMethodName, Integer.TYPE) } else { null diff --git a/app/src/main/java/com/lu/wxmask/plugin/part/HideSearchListUIPluginPart.kt b/app/src/main/java/com/lu/wxmask/plugin/part/HideSearchListUIPluginPart.kt index 8f89517..c2e6e45 100644 --- a/app/src/main/java/com/lu/wxmask/plugin/part/HideSearchListUIPluginPart.kt +++ b/app/src/main/java/com/lu/wxmask/plugin/part/HideSearchListUIPluginPart.kt @@ -29,15 +29,22 @@ class HideSearchListUIPluginPart : IPlugin { private val jsonResultLruCache = LruCache(16) override fun handleHook(context: Context, lpparam: XC_LoadPackage.LoadPackageParam) { -// handleGlobalSearch(context, lpparam) -// handleDetailSearch(context, lpparam) + if (AppVersionUtil.getVersionCode() < Constrant.WX_CODE_8_0_44) { + handleGlobalSearch(context, lpparam) + handleDetailSearch(context, lpparam) + return + } + var getItemMethod = when (AppVersionUtil.getVersionCode()) { + Constrant.WX_CODE_8_0_44 -> "h" + else -> "i" + } //hook getItem --> rename to h - XposedHelpers2.findAndHookMethod(" com.tencent.mm.plugin.fts.ui.a0", + XposedHelpers2.findAndHookMethod("com.tencent.mm.plugin.fts.ui.a0", context.classLoader, - "h", + getItemMethod , java.lang.Integer.TYPE, - object : XC_MethodHook2(){ + object : XC_MethodHook2() { override fun afterHookedMethod(param: MethodHookParam) { super.afterHookedMethod(param) if (needHideUserName2(param, param.result)) { @@ -308,9 +315,9 @@ class HideSearchListUIPluginPart : IPlugin { var compareText = if (fieldValue is CharSequence) { fieldValue } else { - if (jsonResultLruCache[jsonKey] == null){ + if (jsonResultLruCache[jsonKey] == null) { GsonUtil.toJson(fieldValue) - }else{ + } else { jsonResultLruCache[jsonKey] } }