From 1d917f607d5568483d88c73e6198873079a76757 Mon Sep 17 00:00:00 2001 From: LittleTurtle2333 <841474544@qq.com> Date: Fri, 18 Feb 2022 00:08:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E8=A7=A3=E9=99=A4?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E5=9B=BE=E6=A0=87=E4=B8=AA=E6=95=B0=E4=B8=8A?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- .../simplicitytools/hook/app/SystemUI.kt | 56 +++++++++++++------ app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/root_preferences.xml | 7 ++- 4 files changed, 48 insertions(+), 20 deletions(-) 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 @@ - + +