From 89767143bd9f1eaafb8ba524d2ea672b3afc488d Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Tue, 7 Feb 2023 03:55:55 +0800 Subject: [PATCH] Fix possible grayscale notification icons color judgment problem in SystemUIHooker --- .../coloros/notify/hook/entity/SystemUIHooker.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/fankes/coloros/notify/hook/entity/SystemUIHooker.kt b/app/src/main/java/com/fankes/coloros/notify/hook/entity/SystemUIHooker.kt index c90431d..a3d4980 100644 --- a/app/src/main/java/com/fankes/coloros/notify/hook/entity/SystemUIHooker.kt +++ b/app/src/main/java/com/fankes/coloros/notify/hook/entity/SystemUIHooker.kt @@ -630,15 +630,22 @@ object SystemUIHooker : YukiBaseHooker() { } } } - /** 修复并替换新版本 ColorOS 原生灰度图标色彩判断 */ + /** 修复并替换 ColorOS 以及原生灰度图标色彩判断 */ NotificationUtilsClass.hook { + injectMember { + method { + name = "isGrayscale" + param(ImageViewClass, ContrastColorUtilClass) + } + replaceAny { args().first().cast()?.let { isGrayscaleIcon(it.context, it.drawable) } ?: callOriginal() } + } injectMember { method { name = "isGrayscaleOplus" param(ImageViewClass, OplusContrastColorUtilClass) } replaceAny { args().first().cast()?.let { isGrayscaleIcon(it.context, it.drawable) } ?: callOriginal() } - }.ignoredHookingFailure() + }.ignoredNoSuchMemberFailure() } /** 替换状态栏图标 */ IconManagerClass.hook {