From a38e80978b3d1fb34967e2dd560ead528e42c674 Mon Sep 17 00:00:00 2001 From: QQ littleice <1767523953@qq.com> Date: Thu, 10 Mar 2022 21:41:16 +0800 Subject: [PATCH] simplify HideSimIcon.kt --- .../hook/app/systemui/HideSimIcon.kt | 35 +++++++------------ 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideSimIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideSimIcon.kt index 93449073..f7232b1f 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideSimIcon.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideSimIcon.kt @@ -1,32 +1,21 @@ 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.XC_MethodHook -import de.robv.android.xposed.XposedHelpers import de.robv.android.xposed.callbacks.XC_LoadPackage class HideSimIcon :IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { - val classIfExists = XposedHelpers.findClassIfExists( - "com.android.systemui.statusbar.phone.StatusBarSignalPolicy", - 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 - - 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) - } - } - }) + "com.android.systemui.statusbar.phone.StatusBarSignalPolicy".hookBeforeMethod(lpparam.classLoader, "hasCorrectSubs", MutableList::class.java) { + val list = it.args[0] as MutableList<*> + val size = list.size + hasEnable("hide_sim_two_icon", extraCondition = { size == 2 }) { + list.removeAt(1) + } + hasEnable("hide_sim_one_icon", extraCondition = { size >= 1 }) { + list.removeAt(0) + } + } } } \ No newline at end of file