From 9355dc1c012b965dd2de7de6659d9a44fbd28b78 Mon Sep 17 00:00:00 2001 From: klxiaoniu Date: Mon, 21 Aug 2023 20:05:55 +0800 Subject: [PATCH] refactor: UnlockLeftSlipLimit for QQNT --- .../java/cc/hicore/hook/UnlockLeftSlipLimit.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/cc/hicore/hook/UnlockLeftSlipLimit.java b/app/src/main/java/cc/hicore/hook/UnlockLeftSlipLimit.java index 0ee408c5bd..240a1656b2 100644 --- a/app/src/main/java/cc/hicore/hook/UnlockLeftSlipLimit.java +++ b/app/src/main/java/cc/hicore/hook/UnlockLeftSlipLimit.java @@ -26,6 +26,8 @@ import cc.hicore.ReflectUtil.MMethod; import cc.ioctl.util.HookUtils; import cc.ioctl.util.HostInfo; +import de.robv.android.xposed.XC_MethodHook; +import de.robv.android.xposed.XposedHelpers; import io.github.qauxv.base.annotation.FunctionHookEntry; import io.github.qauxv.base.annotation.UiItemAgentEntry; import io.github.qauxv.dsl.FunctionEntryRouter; @@ -58,13 +60,13 @@ public String[] getUiItemLocation() { @Override protected boolean initOnce() throws Exception { if (HostInfo.requireMinQQVersion(QQVersion.QQ_8_9_63)) { - Method[] ms = Initiator.loadClass("com.tencent.mobileqq.aio.msglist.holder.component.leftswipearea.AIOContentLeftSwipeHelper").getDeclaredMethods(); - for (Method m : ms) { - if (m.getParameterTypes().length == 1 && m.getParameterTypes()[0] == boolean.class) { - HookUtils.hookBeforeIfEnabled(this, m, param -> param.args[0] = true); - break; - } - } + XposedHelpers.findAndHookMethod(Initiator.loadClass("com.tencent.mobileqq.ark.api.impl.ArkHelperImpl"), "isSupportReply", String.class, + String.class, String.class, new XC_MethodHook() { + @Override + protected void beforeHookedMethod(MethodHookParam param) { + param.setResult(true); + } + }); return true; } Method m = MMethod.FindMethod(DexKit.requireMethodFromCache(NLeftSwipeReplyHelper_reply.INSTANCE).getDeclaringClass(), methodName, boolean.class,