mirror of
https://github.com/LittleTurtle2333/SimplicityTools.git
synced 2026-07-13 03:41:19 +08:00
重构隐藏图标功能
This commit is contained in:
@@ -830,8 +830,14 @@ class SettingsActivity : MIUIActivity() {
|
|||||||
)
|
)
|
||||||
add(
|
add(
|
||||||
TextWithSwitchV(
|
TextWithSwitchV(
|
||||||
TextV(resId = R.string.hide_volume_zen_icon),
|
TextV(resId = R.string.hide_volume_icon),
|
||||||
SwitchV("hide_volume_zen_icon")
|
SwitchV("hide_volume_icon")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
add(
|
||||||
|
TextWithSwitchV(
|
||||||
|
TextV(resId = R.string.hide_zen_icon),
|
||||||
|
SwitchV("hide_zen_icon")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
add(
|
add(
|
||||||
|
|||||||
@@ -9,42 +9,20 @@ class SystemUI : IXposedHookLoadPackage {
|
|||||||
|
|
||||||
override fun handleLoadPackage(lpparam: LoadPackageParam) {
|
override fun handleLoadPackage(lpparam: LoadPackageParam) {
|
||||||
XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName)
|
XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName)
|
||||||
//隐藏飞行模式图标
|
//隐藏状态栏图标
|
||||||
HideAirplaneIcon().handleLoadPackage(lpparam)
|
HideStatusBarIcon().handleLoadPackage(lpparam)
|
||||||
//隐藏闹钟图标
|
|
||||||
HideAlarmIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏电池
|
//隐藏电池
|
||||||
HideBatteryIcon().handleLoadPackage(lpparam)
|
HideBatteryIcon().handleLoadPackage(lpparam)
|
||||||
//隐藏蓝牙电量
|
|
||||||
HideBluetoothHandsfreeBatteryIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏蓝牙图标
|
|
||||||
HideBluetoothIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏GPS图标
|
|
||||||
HideGPSIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏HD图标
|
//隐藏HD图标
|
||||||
HideHDIcon().handleLoadPackage(lpparam)
|
HideHDIcon().handleLoadPackage(lpparam)
|
||||||
//隐藏耳机图标
|
|
||||||
HideHeadsetIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏热点图标
|
|
||||||
HideHotspotIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏无SIM卡图标
|
|
||||||
HideNoSimIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏SIM卡图标
|
//隐藏SIM卡图标
|
||||||
HideSimIcon().handleLoadPackage(lpparam)
|
HideSimIcon().handleLoadPackage(lpparam)
|
||||||
//隐藏移动箭头图标
|
//隐藏移动箭头图标
|
||||||
HideMobileActivityIcon().handleLoadPackage(lpparam)
|
HideMobileActivityIcon().handleLoadPackage(lpparam)
|
||||||
//隐藏移动类型图标
|
//隐藏移动类型图标
|
||||||
HideMobileTypeIcon().handleLoadPackage(lpparam)
|
HideMobileTypeIcon().handleLoadPackage(lpparam)
|
||||||
//隐藏辅助WIFI图标
|
|
||||||
HideSlaveWifiIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏状态栏网速/s
|
//隐藏状态栏网速/s
|
||||||
HideStatusBarNetworkSpeedSecond().handleLoadPackage(lpparam)
|
HideStatusBarNetworkSpeedSecond().handleLoadPackage(lpparam)
|
||||||
//隐藏音量勿扰图标
|
|
||||||
HideVolumeZenIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏VPN图标
|
|
||||||
HideVpnIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏WIFI图标
|
|
||||||
HideWifiIcon().handleLoadPackage(lpparam)
|
|
||||||
//隐藏WIFI活动箭头图标
|
//隐藏WIFI活动箭头图标
|
||||||
HideWifiActivityIcon().handleLoadPackage(lpparam)
|
HideWifiActivityIcon().handleLoadPackage(lpparam)
|
||||||
//移除通知图标上限
|
//移除通知图标上限
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -160,4 +160,6 @@
|
|||||||
<string name="current_current">Current</string>
|
<string name="current_current">Current</string>
|
||||||
<string name="remove_open_app_confirmation_popup">remove open app popup</string>
|
<string name="remove_open_app_confirmation_popup">remove open app popup</string>
|
||||||
<string name="remove_open_app_confirmation_popup_summary">remove \"Allow XXX to open XXX\" Chain start popup</string>
|
<string name="remove_open_app_confirmation_popup_summary">remove \"Allow XXX to open XXX\" Chain start popup</string>
|
||||||
|
<string name="hide_volume_icon">Hide Volume icon</string>
|
||||||
|
<string name="hide_zen_icon">Hide ZEN icon</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user