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(