Fix possible grayscale notification icons color judgment problem in SystemUIHooker

This commit is contained in:
2023-02-07 03:55:55 +08:00
parent e119fd0bf7
commit 89767143bd

View File

@@ -630,15 +630,22 @@ object SystemUIHooker : YukiBaseHooker() {
} }
} }
} }
/** 修复并替换新版本 ColorOS 原生灰度图标色彩判断 */ /** 修复并替换 ColorOS 以及原生灰度图标色彩判断 */
NotificationUtilsClass.hook { NotificationUtilsClass.hook {
injectMember {
method {
name = "isGrayscale"
param(ImageViewClass, ContrastColorUtilClass)
}
replaceAny { args().first().cast<ImageView>()?.let { isGrayscaleIcon(it.context, it.drawable) } ?: callOriginal() }
}
injectMember { injectMember {
method { method {
name = "isGrayscaleOplus" name = "isGrayscaleOplus"
param(ImageViewClass, OplusContrastColorUtilClass) param(ImageViewClass, OplusContrastColorUtilClass)
} }
replaceAny { args().first().cast<ImageView>()?.let { isGrayscaleIcon(it.context, it.drawable) } ?: callOriginal() } replaceAny { args().first().cast<ImageView>()?.let { isGrayscaleIcon(it.context, it.drawable) } ?: callOriginal() }
}.ignoredHookingFailure() }.ignoredNoSuchMemberFailure()
} }
/** 替换状态栏图标 */ /** 替换状态栏图标 */
IconManagerClass.hook { IconManagerClass.hook {