simplify HideAirplaneIcon.kt

This commit is contained in:
QQ littleice
2022-03-10 18:37:42 +08:00
parent d659ed88a3
commit 2ab121fa5a

View File

@@ -1,30 +1,18 @@
package com.lt2333.simplicitytools.hook.app.systemui
import com.lt2333.simplicitytools.util.XSPUtils
import com.lt2333.simplicitytools.util.findClass
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.XposedHelpers
import de.robv.android.xposed.callbacks.XC_LoadPackage
class HideAirplaneIcon : IXposedHookLoadPackage {
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
val classIfExists = XposedHelpers.findClassIfExists(
"com.android.systemui.statusbar.phone.StatusBarSignalPolicy",
lpparam.classLoader
)
XposedHelpers.findAndHookMethod(
classIfExists,
"setIsAirplaneMode",
XposedHelpers.findClass(
"com.android.systemui.statusbar.policy.NetworkController\$IconState",
lpparam.classLoader
),
object : XC_MethodHook() {
override fun beforeHookedMethod(param: MethodHookParam) {
if (XSPUtils.getBoolean("hide_airplane_icon", false)) {
param.result = null
}
}
})
val iconState = "com.android.systemui.statusbar.policy.NetworkController\$IconState".findClass(lpparam.classLoader)
"com.android.systemui.statusbar.phone.StatusBarSignalPolicy".hookBeforeMethod(lpparam.classLoader, "setIsAirplaneMode", iconState) {
hasEnable("hide_airplane_icon") {
it.result = null
}
}
}
}