From 6e95239d948eda6d550ba58498e30e3084e86384 Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Thu, 17 Mar 2022 23:19:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E5=85=A8=E9=83=A8=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E4=B8=BA=E5=8D=8A=E9=80=8F=E6=98=8E=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fankes/miui/notify/hook/HookEntry.kt | 16 +++++++++++----- .../miui/notify/utils/factory/FunctionFactory.kt | 6 ++++++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/fankes/miui/notify/hook/HookEntry.kt b/app/src/main/java/com/fankes/miui/notify/hook/HookEntry.kt index 5eca54b..a1ba585 100644 --- a/app/src/main/java/com/fankes/miui/notify/hook/HookEntry.kt +++ b/app/src/main/java/com/fankes/miui/notify/hook/HookEntry.kt @@ -544,12 +544,18 @@ class HookEntry : YukiHookXposedInitProxy { afterHook { instance().also { if (hasIgnoreStatusBarIconColor(it.context, field { name = "mNotification" } - .of(instance))) it.colorFilter = null - /** 防止图标不是纯黑的问题 */ + .of(instance))) it.apply { + alpha = 1f + colorFilter = null + } + /** + * 防止图标不是纯黑的问题 + * 图标在任何场景下跟随状态栏其它图标保持半透明 + */ else it.apply { - field { name = "mCurrentSetColor" }.of(instance).also { color -> - setColorFilter(if (color == -419430401) color else Color.BLACK) - alpha = if (color == -419430401) 1f else 0.8f + field { name = "mCurrentSetColor" }.of(instance)?.also { color -> + alpha = 0.9f + setColorFilter(if (color.isWhite) color else Color.BLACK) } } } diff --git a/app/src/main/java/com/fankes/miui/notify/utils/factory/FunctionFactory.kt b/app/src/main/java/com/fankes/miui/notify/utils/factory/FunctionFactory.kt index 496a9f1..df7497b 100644 --- a/app/src/main/java/com/fankes/miui/notify/utils/factory/FunctionFactory.kt +++ b/app/src/main/java/com/fankes/miui/notify/utils/factory/FunctionFactory.kt @@ -223,6 +223,12 @@ val Context.versionCode get() = packageInfo.versionCode */ fun Number.dp(context: Context) = (toFloat() * context.resources.displayMetrics.density) +/** + * 是否为白色 + * @return [Boolean] + */ +val Int.isWhite get() = this == -419430401 || this == Color.WHITE + /** * Base64 加密 * @return [String]