From 13aa2cc9dad4a868c839c3950969d7a11d452e73 Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Mon, 31 Jan 2022 00:49:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=80=9A=E7=9F=A5=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E4=BC=98=E5=8C=96=E5=90=8D=E5=8D=95=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E5=92=8C=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fankes/miui/notify/hook/HookMain.kt | 38 ++++++++++--------- .../com/fankes/miui/notify/ui/MainActivity.kt | 4 ++ app/src/main/res/layout/activity_main.xml | 2 + 3 files changed, 26 insertions(+), 18 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 65c0c03..8ec179c 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 @@ -175,17 +175,18 @@ class HookMain : IXposedHookLoadPackage { (param.args?.get(0) as? StatusBarNotification?)?.also { notifyInstance -> /** 目标彩色通知 APP 图标 */ var customIcon: Icon? = null - run { - IconPackParams.iconDatas.forEach { - if ((notifyInstance.opPkgName == it.packageName || - findAppName(notifyInstance) == it.appName) && - HookMedium.isAppNotifyHookOf(it.packageName) - ) { - customIcon = Icon.createWithBitmap(it.iconBitmap) - return@run + if (HookMedium.getBoolean(HookMedium.ENABLE_COLOR_ICON_HOOK, default = true)) + run { + IconPackParams.iconDatas.forEach { + if ((notifyInstance.opPkgName == it.packageName || + findAppName(notifyInstance) == it.appName) && + HookMedium.isAppNotifyHookOf(it.packageName) + ) { + customIcon = Icon.createWithBitmap(it.iconBitmap) + return@run + } } } - } when { /** 如果开启了修复 APP 的彩色图标 */ customIcon != null && HookMedium.getBoolean(HookMedium.ENABLE_NOTIFY_ICON_HOOK, default = true) -> @@ -226,17 +227,18 @@ class HookMain : IXposedHookLoadPackage { /** 自定义默认小图标 */ var customIcon: Bitmap? = null - run { - IconPackParams.iconDatas.forEach { - if ((notifyInstance.opPkgName == it.packageName || - findAppName(notifyInstance) == it.appName) && - HookMedium.isAppNotifyHookOf(it.packageName) - ) { - customIcon = it.iconBitmap - return@run + if (HookMedium.getBoolean(HookMedium.ENABLE_COLOR_ICON_HOOK, default = true)) + run { + IconPackParams.iconDatas.forEach { + if ((notifyInstance.opPkgName == it.packageName || + findAppName(notifyInstance) == it.appName) && + HookMedium.isAppNotifyHookOf(it.packageName) + ) { + customIcon = it.iconBitmap + return@run + } } } - } /** 如果开启了修复 APP 的彩色图标 */ if (customIcon != null && HookMedium.getBoolean(HookMedium.ENABLE_NOTIFY_ICON_HOOK, default = true)) iconImageView.apply { diff --git a/app/src/main/java/com/fankes/miui/notify/ui/MainActivity.kt b/app/src/main/java/com/fankes/miui/notify/ui/MainActivity.kt index 3eb957e..4d6cfb7 100644 --- a/app/src/main/java/com/fankes/miui/notify/ui/MainActivity.kt +++ b/app/src/main/java/com/fankes/miui/notify/ui/MainActivity.kt @@ -33,6 +33,7 @@ import android.widget.TextView import android.widget.Toast import androidx.appcompat.widget.SwitchCompat import androidx.constraintlayout.utils.widget.ImageFilterView +import androidx.core.view.isVisible import com.fankes.miui.notify.BuildConfig import com.fankes.miui.notify.R import com.fankes.miui.notify.hook.HookMedium @@ -90,11 +91,13 @@ class MainActivity : BaseActivity() { } } /** 初始化 View */ + val notifyIconConfigItem = findViewById(R.id.config_item_notify) val moduleEnableSwitch = findViewById(R.id.module_enable_switch) val hideIconInLauncherSwitch = findViewById(R.id.hide_icon_in_launcher_switch) val colorIconHookSwitch = findViewById(R.id.color_icon_fix_switch) val notifyIconHookSwitch = findViewById(R.id.notify_icon_fix_switch) /** 获取 Sp 存储的信息 */ + notifyIconConfigItem.isVisible = getBoolean(HookMedium.ENABLE_COLOR_ICON_HOOK, default = true) moduleEnableSwitch.isChecked = getBoolean(HookMedium.ENABLE_MODULE, default = true) hideIconInLauncherSwitch.isChecked = getBoolean(HookMedium.ENABLE_HIDE_ICON) colorIconHookSwitch.isChecked = getBoolean(HookMedium.ENABLE_COLOR_ICON_HOOK, default = true) @@ -115,6 +118,7 @@ class MainActivity : BaseActivity() { colorIconHookSwitch.setOnCheckedChangeListener { btn, b -> if (!btn.isPressed) return@setOnCheckedChangeListener putBoolean(HookMedium.ENABLE_COLOR_ICON_HOOK, b) + notifyIconConfigItem.isVisible = b } notifyIconHookSwitch.setOnCheckedChangeListener { btn, b -> if (!btn.isPressed) return@setOnCheckedChangeListener diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 3be06b6..52cc388 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -110,6 +110,7 @@