diff --git a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt
index d6fb95cc..5da66174 100644
--- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt
+++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt
@@ -830,8 +830,14 @@ class SettingsActivity : MIUIActivity() {
)
add(
TextWithSwitchV(
- TextV(resId = R.string.hide_volume_zen_icon),
- SwitchV("hide_volume_zen_icon")
+ TextV(resId = R.string.hide_volume_icon),
+ SwitchV("hide_volume_icon")
+ )
+ )
+ add(
+ TextWithSwitchV(
+ TextV(resId = R.string.hide_zen_icon),
+ SwitchV("hide_zen_icon")
)
)
add(
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 cb6d3c84..9a184ac0 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
@@ -9,42 +9,20 @@ class SystemUI : IXposedHookLoadPackage {
override fun handleLoadPackage(lpparam: LoadPackageParam) {
XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName)
- //隐藏飞行模式图标
- HideAirplaneIcon().handleLoadPackage(lpparam)
- //隐藏闹钟图标
- HideAlarmIcon().handleLoadPackage(lpparam)
+ //隐藏状态栏图标
+ HideStatusBarIcon().handleLoadPackage(lpparam)
//隐藏电池
HideBatteryIcon().handleLoadPackage(lpparam)
- //隐藏蓝牙电量
- HideBluetoothHandsfreeBatteryIcon().handleLoadPackage(lpparam)
- //隐藏蓝牙图标
- HideBluetoothIcon().handleLoadPackage(lpparam)
- //隐藏GPS图标
- HideGPSIcon().handleLoadPackage(lpparam)
//隐藏HD图标
HideHDIcon().handleLoadPackage(lpparam)
- //隐藏耳机图标
- HideHeadsetIcon().handleLoadPackage(lpparam)
- //隐藏热点图标
- HideHotspotIcon().handleLoadPackage(lpparam)
- //隐藏无SIM卡图标
- HideNoSimIcon().handleLoadPackage(lpparam)
//隐藏SIM卡图标
HideSimIcon().handleLoadPackage(lpparam)
//隐藏移动箭头图标
HideMobileActivityIcon().handleLoadPackage(lpparam)
//隐藏移动类型图标
HideMobileTypeIcon().handleLoadPackage(lpparam)
- //隐藏辅助WIFI图标
- HideSlaveWifiIcon().handleLoadPackage(lpparam)
//隐藏状态栏网速/s
HideStatusBarNetworkSpeedSecond().handleLoadPackage(lpparam)
- //隐藏音量勿扰图标
- HideVolumeZenIcon().handleLoadPackage(lpparam)
- //隐藏VPN图标
- HideVpnIcon().handleLoadPackage(lpparam)
- //隐藏WIFI图标
- HideWifiIcon().handleLoadPackage(lpparam)
//隐藏WIFI活动箭头图标
HideWifiActivityIcon().handleLoadPackage(lpparam)
//移除通知图标上限
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideAirplaneIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideAirplaneIcon.kt
deleted file mode 100644
index f514062a..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideAirplaneIcon.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideAirplaneIcon : IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- val iconState = "com.android.systemui.statusbar.policy.NetworkController\$IconState"
- "com.android.systemui.statusbar.phone.StatusBarSignalPolicy".hookBeforeMethod(lpparam.classLoader, "setIsAirplaneMode", iconState) {
- hasEnable("hide_airplane_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideAlarmIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideAlarmIcon.kt
deleted file mode 100644
index 519a03de..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideAlarmIcon.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideAlarmIcon :IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy".hookBeforeMethod(lpparam.classLoader, "onMiuiAlarmChanged") {
- hasEnable("hide_alarm_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBluetoothHandsfreeBatteryIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBluetoothHandsfreeBatteryIcon.kt
deleted file mode 100644
index c8be5c9f..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBluetoothHandsfreeBatteryIcon.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import android.content.Intent
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideBluetoothHandsfreeBatteryIcon : IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy".hookBeforeMethod(lpparam.classLoader, "updateBluetoothHandsfreeBattery", Intent::class.java) {
- hasEnable("hide_bluetooth_battery_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBluetoothIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBluetoothIcon.kt
deleted file mode 100644
index 27149c31..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBluetoothIcon.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideBluetoothIcon :IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy".hookBeforeMethod(lpparam.classLoader, "updateBluetooth", String::class.java) {
- hasEnable("hide_bluetooth_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideGPSIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideGPSIcon.kt
deleted file mode 100644
index c0d8e6a4..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideGPSIcon.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideGPSIcon : IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.phone.PhoneStatusBarPolicy".hookBeforeMethod(lpparam.classLoader, "updateLocationFromController") {
- hasEnable("hide_gps_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideHeadsetIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideHeadsetIcon.kt
deleted file mode 100644
index afe73820..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideHeadsetIcon.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import android.content.Intent
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideHeadsetIcon :IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy".hookBeforeMethod(lpparam.classLoader, "updateHeadsetPlug", Intent::class.java) {
- hasEnable("hide_headset_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideHotspotIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideHotspotIcon.kt
deleted file mode 100644
index c07837f6..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideHotspotIcon.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideHotspotIcon :IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.phone.PhoneStatusBarPolicy\$2".hookBeforeMethod(lpparam.classLoader, "onHotspotChanged", Boolean::class.java, Int::class.java) {
- hasEnable("hide_hotspot_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideNoSimIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideNoSimIcon.kt
deleted file mode 100644
index 815e08e4..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideNoSimIcon.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideNoSimIcon : IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.phone.MiuiStatusBarSignalPolicy".hookBeforeMethod(lpparam.classLoader, "setNoSims", Boolean::class.javaPrimitiveType, Boolean::class.javaPrimitiveType) {
- hasEnable("hide_no_sim_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideSlaveWifiIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideSlaveWifiIcon.kt
deleted file mode 100644
index c589aaa6..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideSlaveWifiIcon.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideSlaveWifiIcon :IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.policy.SlaveWifiSignalController".hookBeforeMethod(lpparam.classLoader, "updateIconState") {
- hasEnable("hide_slave_wifi_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideStatusBarIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideStatusBarIcon.kt
new file mode 100644
index 00000000..5398e0cf
--- /dev/null
+++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideStatusBarIcon.kt
@@ -0,0 +1,85 @@
+package com.lt2333.simplicitytools.hook.app.systemui
+
+import com.lt2333.simplicitytools.util.hasEnable
+import com.lt2333.simplicitytools.util.hookBeforeMethod
+import de.robv.android.xposed.IXposedHookLoadPackage
+import de.robv.android.xposed.XC_MethodHook
+import de.robv.android.xposed.callbacks.XC_LoadPackage
+
+class HideStatusBarIcon : IXposedHookLoadPackage {
+ override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
+
+ "com.android.systemui.statusbar.phone.StatusBarIconControllerImpl".hookBeforeMethod(
+ lpparam.classLoader,
+ "setIconVisibility",
+ String::class.java,
+ Boolean::class.java
+ ) { hideIcon(it) }
+
+ "com.android.systemui.statusbar.phone.MiuiDripLeftStatusBarIconControllerImpl".hookBeforeMethod(
+ lpparam.classLoader,
+ "setIconVisibility",
+ String::class.java,
+ Boolean::class.java
+ ) { hideIcon(it) }
+
+ }
+
+ private fun hideIcon(it: XC_MethodHook.MethodHookParam) {
+ //Log.d("图标名字", "handleLoadPackage: " + it.args[0])
+ when (it.args[0] as String) {
+ //隐藏蓝牙
+ "bluetooth" -> hasEnable("hide_bluetooth_icon") {
+ it.args[1] = false
+ }
+ //隐藏蓝牙电量
+ "bluetooth_handsfree_battery" -> hasEnable("hide_bluetooth_battery_icon") {
+ it.args[1] = false
+ }
+ //隐藏勿扰
+ "zen" -> hasEnable("hide_zen_icon") {
+ it.args[1] = false
+ }
+ //隐藏声音
+ "volume" -> hasEnable("hide_volume_icon") {
+ it.args[1] = false
+ }
+ //隐藏WIFI
+ "wifi" -> hasEnable("hide_wifi_icon") {
+ it.args[1] = false
+ }
+ //隐藏WIFI辅助
+ "slave_wifi" -> hasEnable("hide_slave_wifi_icon") {
+ it.args[1] = false
+ }
+ //隐藏飞行模式
+ "airplane" -> hasEnable("hide_airplane_icon") {
+ it.args[1] = false
+ }
+ //隐藏闹钟
+ "alarm_clock" -> hasEnable("hide_alarm_icon") {
+ it.args[1] = false
+ }
+ //隐藏定位
+ "location" -> hasEnable("hide_gps_icon") {
+ it.args[1] = false
+ }
+ //隐藏热点
+ "hotspot" -> hasEnable("hide_hotspot_icon") {
+ it.args[1] = false
+ }
+ //隐藏耳机
+ "headset" -> hasEnable("hide_headset_icon") {
+ it.args[1] = false
+ }
+ //隐藏VPN
+ "vpn" -> hasEnable("hide_vpn_icon") {
+ it.args[1] = false
+ }
+ //隐藏无SIM卡
+ "no_sim" -> hasEnable("hide_no_sim_icon") {
+ it.args[1] = false
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideVolumeZenIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideVolumeZenIcon.kt
deleted file mode 100644
index 4eef22f5..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideVolumeZenIcon.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideVolumeZenIcon :IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarPolicy".hookBeforeMethod(lpparam.classLoader, "updateVolumeZen") {
- hasEnable("hide_volume_zen_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideVpnIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideVpnIcon.kt
deleted file mode 100644
index 5bbf6224..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideVpnIcon.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideVpnIcon : IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- "com.android.systemui.statusbar.phone.StatusBarSignalPolicy".hookBeforeMethod(lpparam.classLoader, "updateVpn") {
- hasEnable("hide_vpn_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideWifiIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideWifiIcon.kt
deleted file mode 100644
index fc7aaa88..00000000
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideWifiIcon.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.lt2333.simplicitytools.hook.app.systemui
-
-import com.lt2333.simplicitytools.util.hasEnable
-import com.lt2333.simplicitytools.util.hookBeforeMethod
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.callbacks.XC_LoadPackage
-
-class HideWifiIcon : IXposedHookLoadPackage {
- override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
- val iconState = "com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$WifiIconState"
- "com.android.systemui.statusbar.phone.MiuiStatusBarSignalPolicy".hookBeforeMethod(lpparam.classLoader, "updateWifiIconWithState", iconState) {
- hasEnable("hide_wifi_icon") {
- it.result = null
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e6a237be..bb88d3c3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -160,4 +160,6 @@
Current
remove open app popup
remove \"Allow XXX to open XXX\" Chain start popup
+ Hide Volume icon
+ Hide ZEN icon