diff --git a/.idea/misc.xml b/.idea/misc.xml index 797e340..737c14c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -7,6 +7,7 @@ + @@ -15,10 +16,11 @@ - + + diff --git a/app/build.gradle b/app/build.gradle index a51980f..71ccb2f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,7 +30,7 @@ android { buildTypes { release { - minifyEnabled true + minifyEnabled false signingConfig signingConfigs.debug proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } 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 90abab3..761181d 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 @@ -119,6 +119,9 @@ class HookEntry : YukiHookXposedInitProxy { /** 缓存的通知优化图标数组 */ private var iconDatas = ArrayList() + /** 是否显示通知图标 - 跟随 Hook 保存 */ + private var isShowNotificationIcons = true + /** * - 这个是修复彩色图标的关键核心代码判断 * @@ -558,12 +561,19 @@ class HookEntry : YukiHookXposedInitProxy { method { name = "updateState" } beforeHook { /** 解除状态栏通知图标个数限制 */ - if (prefs.getBoolean(ENABLE_HOOK_STATUS_ICON_COUNT, default = true)) + if (isShowNotificationIcons && prefs.getBoolean(ENABLE_HOOK_STATUS_ICON_COUNT, default = true)) field { name = "MAX_STATIC_ICONS" } .get(instance).set(prefs.getInt(HOOK_STATUS_ICON_COUNT, default = 5) .let { if (it in 0..100) it else 5 }) } } + injectMember { + method { + name = "miuiShowNotificationIcons" + param(BooleanType) + } + beforeHook { isShowNotificationIcons = firstArgs as Boolean } + } } NotificationHeaderViewWrapperClass.hook { /** 修复下拉通知图标自动设置回 APP 图标的方法 */ 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 fb8a89a..a0f813c 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 @@ -211,18 +211,12 @@ val Context.versionName get() = packageInfo.versionName ?: "" */ val Context.versionCode get() = packageInfo.versionCode -/** - * dp 转换为 px - * @return [Int] - */ -val Number.dp get() = (toFloat() * appContext.resources.displayMetrics.density).toInt() - /** * dp 转换为 px * @param context 使用的实例 * @return [Float] */ -fun Number.dp(context: Context) = toFloat() * context.resources.displayMetrics.density +fun Number.dp(context: Context) = (toFloat() * context.resources.displayMetrics.density) /** * Base64 加密 diff --git a/app/src/main/java/com/fankes/miui/notify/view/MaterialSwitch.kt b/app/src/main/java/com/fankes/miui/notify/view/MaterialSwitch.kt index 7201a21..51bea50 100644 --- a/app/src/main/java/com/fankes/miui/notify/view/MaterialSwitch.kt +++ b/app/src/main/java/com/fankes/miui/notify/view/MaterialSwitch.kt @@ -48,16 +48,16 @@ class MaterialSwitch(context: Context, attrs: AttributeSet?) : SwitchCompat(cont .rectangle() .rounded() .solidColor(0xFF656565.toInt()) - .height(20.dp) - .cornerRadius(15.dp) + .height(20.dp(context).toInt()) + .cornerRadius(15.dp(context).toInt()) .build() thumbDrawable = DrawableBuilder() .rectangle() .rounded() .solidColor(Color.WHITE) - .size(20.dp, 20.dp) - .cornerRadius(20.dp) - .strokeWidth(8.dp) + .size(20.dp(context).toInt(), 20.dp(context).toInt()) + .cornerRadius(20.dp(context).toInt()) + .strokeWidth(8.dp(context).toInt()) .strokeColor(Color.TRANSPARENT) .build() trackTintList = toColors(