simplify HideSimIcon.kt

This commit is contained in:
QQ littleice
2022-03-10 21:41:16 +08:00
parent 56a308d7c5
commit a38e80978b

View File

@@ -1,32 +1,21 @@
package com.lt2333.simplicitytools.hook.app.systemui package com.lt2333.simplicitytools.hook.app.systemui
import com.lt2333.simplicitytools.util.XSPUtils import com.lt2333.simplicitytools.util.hasEnable
import com.lt2333.simplicitytools.util.hookBeforeMethod
import de.robv.android.xposed.IXposedHookLoadPackage 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 import de.robv.android.xposed.callbacks.XC_LoadPackage
class HideSimIcon :IXposedHookLoadPackage { class HideSimIcon :IXposedHookLoadPackage {
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
val classIfExists = XposedHelpers.findClassIfExists( "com.android.systemui.statusbar.phone.StatusBarSignalPolicy".hookBeforeMethod(lpparam.classLoader, "hasCorrectSubs", MutableList::class.java) {
"com.android.systemui.statusbar.phone.StatusBarSignalPolicy", val list = it.args[0] as MutableList<*>
lpparam.classLoader val size = list.size
) hasEnable("hide_sim_two_icon", extraCondition = { size == 2 }) {
XposedHelpers.findAndHookMethod( list.removeAt(1)
classIfExists, }
"hasCorrectSubs", MutableList::class.java, hasEnable("hide_sim_one_icon", extraCondition = { size >= 1 }) {
object : XC_MethodHook() { list.removeAt(0)
override fun beforeHookedMethod(param: MethodHookParam) { }
val list = param.args[0] as MutableList<*> }
val size = list.size
if (size == 2 && XSPUtils.getBoolean("hide_sim_two_icon", false)) {
list.removeAt(1)
}
if (size >= 1 && XSPUtils.getBoolean("hide_sim_one_icon", false)) {
list.removeAt(0)
}
}
})
} }
} }