diff --git a/app/build.gradle b/app/build.gradle
index 8b0180c0..13743dbf 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ android {
applicationId "com.lt2333.simplicitytools"
minSdk 30
targetSdk 32
- versionCode 6
- versionName '1.0.5'
+ versionCode 8
+ versionName '1.0.7'
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt
index 17b726b5..27e6004e 100644
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt
+++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt
@@ -377,24 +377,48 @@ class SystemUI : IXposedHookLoadPackage {
}
//通知图标上限
- try {
- val classIfExists = XposedHelpers.findClassIfExists(
- "com.android.systemui.statusbar.phone.NotificationIconContainer",
- lpparam.classLoader
- )
- XposedHelpers.findAndHookMethod(
- classIfExists,
- "miuiShowNotificationIcons",
- Boolean::class.java,
- object : XC_MethodHook() {
- override fun beforeHookedMethod(param: MethodHookParam) {
-
- }
- })
- } catch (e: Exception) {
- XposedBridge.log(e)
+ if (prefs.hasFileChanged()) {
+ prefs.reload()
}
+ if (prefs.getBoolean("remove_the_maximum_number_of_notification_icons", false)) {
+ try {
+ val classIfExists = XposedHelpers.findClassIfExists(
+ "com.android.systemui.statusbar.phone.NotificationIconContainer",
+ lpparam.classLoader
+ )
+ XposedHelpers.findAndHookMethod(
+ classIfExists,
+ "miuiShowNotificationIcons",
+ Boolean::class.java,
+ object : XC_MethodReplacement() {
+ override fun replaceHookedMethod(param: MethodHookParam) {
+ if (param.args[0] as Boolean) {
+ XposedHelpers.setIntField(param.thisObject, "MAX_DOTS", 30)
+ XposedHelpers.setIntField(param.thisObject, "MAX_STATIC_ICONS", 30)
+ XposedHelpers.setIntField(
+ param.thisObject,
+ "MAX_VISIBLE_ICONS_ON_LOCK",
+ 30
+ )
+ } else {
+ XposedHelpers.setIntField(param.thisObject, "MAX_DOTS", 0)
+ XposedHelpers.setIntField(param.thisObject, "MAX_STATIC_ICONS", 0)
+ XposedHelpers.setIntField(
+ param.thisObject,
+ "MAX_VISIBLE_ICONS_ON_LOCK",
+ 0
+ )
+ }
+
+ XposedHelpers.callMethod(param.thisObject, "updateState")
+ }
+ })
+ } catch (e: Exception) {
+ XposedBridge.log(e)
+ }
+
+ }
}
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b62d12f1..21148e86 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -45,5 +45,6 @@
状态栏(重启系统界面生效)
时钟显秒
网速秒刷新
+ 解除通知图标个数上限
\ No newline at end of file
diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml
index 00c84805..8fb46f20 100644
--- a/app/src/main/res/xml/root_preferences.xml
+++ b/app/src/main/res/xml/root_preferences.xml
@@ -1,5 +1,4 @@
-
+
+