From 682dabbac27147316c76a11e5c7e018c411450d2 Mon Sep 17 00:00:00 2001 From: HowieHChen Date: Wed, 8 Mar 2023 18:08:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=20=E9=9A=90=E8=97=8FSIM?= =?UTF-8?q?=E5=8D=A1=20=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hooks/rules/t/systemui/HideSimIconForT.kt | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/t/systemui/HideSimIconForT.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/t/systemui/HideSimIconForT.kt index 69cc370e4..74f86db58 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/t/systemui/HideSimIconForT.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/t/systemui/HideSimIconForT.kt @@ -1,23 +1,27 @@ package com.lt2333.simplicitytools.hooks.rules.t.systemui +import android.telephony.SubscriptionManager import com.github.kyuubiran.ezxhelper.utils.findMethod import com.github.kyuubiran.ezxhelper.utils.hookBefore +import com.github.kyuubiran.ezxhelper.utils.putObject +import com.lt2333.simplicitytools.utils.getObjectField import com.lt2333.simplicitytools.utils.hasEnable import com.lt2333.simplicitytools.utils.xposed.base.HookRegister object HideSimIconForT : HookRegister() { override fun init() { - findMethod("com.android.systemui.statusbar.phone.StatusBarSignalPolicy") { - name == "hasCorrectSubs" && parameterTypes[0] == MutableList::class.java + findMethod("com.android.systemui.statusbar.StatusBarMobileView") { + name == "applyMobileState" }.hookBefore { - val list = it.args[0] as MutableList<*> - val size = list.size - hasEnable("hide_sim_two_icon", extraCondition = { size == 2 }) { - list.removeAt(1) + val mobileIconState = it.args[0] + val subId = mobileIconState.getObjectField("subId") as Int + val slotId = SubscriptionManager.getSlotIndex(subId) + hasEnable("hide_sim_one_icon", extraCondition = { slotId == 0 }) { + mobileIconState.putObject("visible", false) } - hasEnable("hide_sim_one_icon", extraCondition = { size >= 1 }) { - list.removeAt(0) + hasEnable("hide_sim_two_icon", extraCondition = { slotId == 1 }) { + mobileIconState.putObject("visible", false) } } }