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
)
XposedHelpers.findAndHookMethod(
classIfExists,
"hasCorrectSubs", MutableList::class.java,
object : XC_MethodHook() {
override fun beforeHookedMethod(param: MethodHookParam) {
val list = param.args[0] as MutableList<*>
val size = list.size val size = list.size
hasEnable("hide_sim_two_icon", extraCondition = { size == 2 }) {
if (size == 2 && XSPUtils.getBoolean("hide_sim_two_icon", false)) {
list.removeAt(1) list.removeAt(1)
} }
if (size >= 1 && XSPUtils.getBoolean("hide_sim_one_icon", false)) { hasEnable("hide_sim_one_icon", extraCondition = { size >= 1 }) {
list.removeAt(0) list.removeAt(0)
} }
} }
})
} }
} }