mirror of
https://github.com/LittleTurtle2333/SimplicityTools.git
synced 2026-07-12 11:21:18 +08:00
重构隐藏图标功能
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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)
|
||||
//移除通知图标上限
|
||||
|
||||
@@ -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="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="hide_volume_icon">Hide Volume icon</string>
|
||||
<string name="hide_zen_icon">Hide ZEN icon</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user