From 199ad9fc66bd0b7d4c20b76cb973a507a062a4ed Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Mon, 7 Feb 2022 21:34:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=97=A7=E7=89=88=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=A0=8F=E5=B0=8F=E5=9B=BE=E6=A0=87=20Hook=20?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95=20TAG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fankes/miui/notify/hook/HookMain.kt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/fankes/miui/notify/hook/HookMain.kt b/app/src/main/java/com/fankes/miui/notify/hook/HookMain.kt index 6c61ebf..5a5a953 100644 --- a/app/src/main/java/com/fankes/miui/notify/hook/HookMain.kt +++ b/app/src/main/java/com/fankes/miui/notify/hook/HookMain.kt @@ -315,11 +315,13 @@ class HookMain : IXposedHookLoadPackage { * @param context 实例 * @param expandedNf 通知实例 * @param param Hook Param + * @param isLegacyWay 旧版本 Hook 方式 */ private fun XC_LoadPackage.LoadPackageParam.hookSmallIconOnSet( context: Context, expandedNf: StatusBarNotification?, - param: XC_MethodHook.MethodHookParam + param: XC_MethodHook.MethodHookParam, + isLegacyWay: Boolean, ) { runWithoutError(error = "GetSmallIconOnSet") { /** 获取通知小图标 */ @@ -350,21 +352,23 @@ class HookMain : IXposedHookLoadPackage { logD( content = "GetSmallIconOnSet -> " + "hook Custom AppIcon [pkgName] ${notifyInstance.opPkgName} " + - "[appName] ${findAppName(notifyInstance)}" + "[appName] ${findAppName(notifyInstance)}\n" + + "[legacyWay] $isLegacyWay" ) { param.result = customIcon } /** 若不是灰度图标自动处理为圆角 */ isNotGrayscaleIcon -> logD( content = "GetSmallIconOnSet -> " + "hook Color AppIcon [pkgName] ${notifyInstance.opPkgName} " + - "[appName] ${findAppName(notifyInstance)}" + "[appName] ${findAppName(notifyInstance)}\n" + + "[legacyWay] $isLegacyWay" ) { param.result = Icon.createWithBitmap( iconDrawable.toBitmap().round(15.dp(context)) ) } } - } ?: logW(content = "GetSmallIconOnSet -> StatusBarNotification got null") + } ?: logW(content = "GetSmallIconOnSet -> StatusBarNotification got null [legacyWay] $isLegacyWay") } } @@ -678,7 +682,8 @@ class HookMain : IXposedHookLoadPackage { runWithoutError(error = "GetSmallIconDoing") { lpparam.hookSmallIconOnSet( context = lpparam.globalContext ?: param.args[0] as Context, - param.args?.get(if (isTooOld) 1 else 0) as? StatusBarNotification?, param + param.args?.get(if (isTooOld) 1 else 0) as? StatusBarNotification?, param, + isLegacyWay = isTooOld ) } }