From 1e7aeef8f3320495301a561f3be6b9860ef3c441 Mon Sep 17 00:00:00 2001 From: LittleTurtle2333 <841474544@qq.com> Date: Wed, 16 Feb 2022 15:54:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=9A=90=E8=97=8FHD=E5=9B=BE?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../simplicitytools/hook/app/SystemUI.kt | 291 ++++++++++-------- 1 file changed, 155 insertions(+), 136 deletions(-) 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 5fa4c611..4188b891 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 @@ -16,208 +16,227 @@ class SystemUI : IXposedHookLoadPackage { //隐藏无SIM卡图标 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.MiuiStatusBarSignalPolicy", - lpparam.classLoader, - "setNoSims", - Boolean::class.javaPrimitiveType, - Boolean::class.javaPrimitiveType, - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() + "com.android.systemui.statusbar.phone.MiuiStatusBarSignalPolicy", + lpparam.classLoader, + "setNoSims", + Boolean::class.javaPrimitiveType, + Boolean::class.javaPrimitiveType, + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_no_sim_icon", false)) { + param.result = null + } } - if (prefs.getBoolean("hide_no_sim_icon", false)) { - param.result = null - } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) } //隐藏VPN图标 - //隐藏VPN图标 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.StatusBarSignalPolicy", lpparam.classLoader, - "updateVpn", - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() + "com.android.systemui.statusbar.phone.StatusBarSignalPolicy", lpparam.classLoader, + "updateVpn", + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_vpn_icon", false)) { + param.result = null + } } - if (prefs.getBoolean("hide_vpn_icon", false)) { - param.result = null - } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) } //隐藏飞行模式图标 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.StatusBarSignalPolicy", - lpparam.classLoader, - "setIsAirplaneMode", - XposedHelpers.findClass( - "com.android.systemui.statusbar.policy.NetworkController\$IconState", - lpparam.classLoader - ), - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() + "com.android.systemui.statusbar.phone.StatusBarSignalPolicy", + lpparam.classLoader, + "setIsAirplaneMode", + XposedHelpers.findClass( + "com.android.systemui.statusbar.policy.NetworkController\$IconState", + lpparam.classLoader + ), + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_airplane_icon", false)) { + param.result = null + } } - if (prefs.getBoolean("hide_airplane_icon", false)) { - param.result = null - } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) } //隐藏WIFI图标 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.MiuiStatusBarSignalPolicy", - lpparam.classLoader, - "updateWifiIconWithState", - XposedHelpers.findClass( - "com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$WifiIconState", - lpparam.classLoader - ), - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() + "com.android.systemui.statusbar.phone.MiuiStatusBarSignalPolicy", + lpparam.classLoader, + "updateWifiIconWithState", + XposedHelpers.findClass( + "com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$WifiIconState", + lpparam.classLoader + ), + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_wifi_icon", false)) { + param.result = null + } } - if (prefs.getBoolean("hide_wifi_icon", false)) { - param.result = null - } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) } //隐藏蓝牙图标 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", - lpparam.classLoader, - "updateBluetooth", - String::class.java, - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() + "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", + lpparam.classLoader, + "updateBluetooth", + String::class.java, + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_bluetooth_icon", false)) { + param.result = null + } } - if (prefs.getBoolean("hide_bluetooth_icon", false)) { - param.result = null - } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) } //隐藏 声音、勿扰 图标 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", - lpparam.classLoader, - "updateVolumeZen", - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() + "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", + lpparam.classLoader, + "updateVolumeZen", + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_volume_zen_icon", false)) { + param.result = null + } } - if (prefs.getBoolean("hide_volume_zen_icon", false)) { - param.result = null - } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) } //隐藏 闹钟 图标 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", - lpparam.classLoader, - "onMiuiAlarmChanged", - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() + "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", + lpparam.classLoader, + "onMiuiAlarmChanged", + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_alarm_icon", false)) { + param.result = null + } } - if (prefs.getBoolean("hide_alarm_icon", false)) { - param.result = null - } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) } //隐藏 耳机 图标 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", - lpparam.classLoader, - "updateHeadsetPlug", - Intent::class.java, - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() + "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", + lpparam.classLoader, + "updateHeadsetPlug", + Intent::class.java, + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_headset_icon", false)) { + param.result = null + } } - if (prefs.getBoolean("hide_headset_icon", false)) { - param.result = null - } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) } //隐藏 蓝牙电量 图标 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", - lpparam.classLoader, - "updateBluetoothHandsfreeBattery", - Intent::class.java, - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() + "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy", + lpparam.classLoader, + "updateBluetoothHandsfreeBattery", + Intent::class.java, + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_bluetooth_battery_icon", false)) { + param.result = null + } } - if (prefs.getBoolean("hide_bluetooth_battery_icon", false)) { - param.result = null - } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) } //隐藏卡一卡二 try { XposedHelpers.findAndHookMethod( - "com.android.systemui.statusbar.phone.StatusBarSignalPolicy", lpparam.classLoader, - "hasCorrectSubs", MutableList::class.java, - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam) { - if (prefs.hasFileChanged()) { - prefs.reload() - } - val list = param.args[0] as MutableList<*> - val size = list.size + "com.android.systemui.statusbar.phone.StatusBarSignalPolicy", lpparam.classLoader, + "hasCorrectSubs", MutableList::class.java, + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + val list = param.args[0] as MutableList<*> + val size = list.size - if (size == 2 && prefs.getBoolean("hide_sim_two_icon", false)) { - list.removeAt(1) + if (size == 2 && prefs.getBoolean("hide_sim_two_icon", false)) { + list.removeAt(1) + } + if (size >= 1 && prefs.getBoolean("hide_sim_one_icon", false)) { + list.removeAt(0) + } } - if (size >= 1 && prefs.getBoolean("hide_sim_one_icon", false)) { - list.removeAt(0) + }) + } catch (e: Exception) { + XposedBridge.log(e) + } + + + //隐藏HD + try { + XposedHelpers.findAndHookMethod( + "com.android.systemui.statusbar.policy.MobileSignalController", lpparam.classLoader, + "setVolte", Boolean::class.java, + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("hide_hd_icon", false)) { + param.args[0] = false + } } - } - }) + }) } catch (e: Exception) { XposedBridge.log(e) }