diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideMobileTypeIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideMobileTypeIcon.kt index 834920ae..43a1da14 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideMobileTypeIcon.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideMobileTypeIcon.kt @@ -3,68 +3,29 @@ package com.lt2333.simplicitytools.hook.app.systemui import android.view.View import android.widget.ImageView import android.widget.TextView -import com.lt2333.simplicitytools.util.XSPUtils +import com.lt2333.simplicitytools.util.getObjectField +import com.lt2333.simplicitytools.util.hasEnable +import com.lt2333.simplicitytools.util.hookAfterMethod 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 HideMobileTypeIcon : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { - val classIfExists = XposedHelpers.findClassIfExists( - "com.android.systemui.statusbar.StatusBarMobileView", - lpparam.classLoader - ) - XposedHelpers.findAndHookMethod( - classIfExists, - "initViewState", - "com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$MobileIconState", - object : XC_MethodHook() { - override fun afterHookedMethod(param: MethodHookParam) { - if (XSPUtils.getBoolean("hide_mobile_type_icon", false)) { - (XposedHelpers.getObjectField( - param.thisObject, - "mMobileType" - ) as TextView).visibility = View.INVISIBLE - - (XposedHelpers.getObjectField( - param.thisObject, - "mMobileTypeImage" - ) as ImageView).visibility = View.INVISIBLE - - (XposedHelpers.getObjectField( - param.thisObject, - "mMobileTypeSingle" - ) as TextView).visibility = View.INVISIBLE - } - } - }) - - XposedHelpers.findAndHookMethod( - classIfExists, - "updateState", - "com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$MobileIconState", - object : XC_MethodHook() { - override fun afterHookedMethod(param: MethodHookParam) { - if (XSPUtils.getBoolean("hide_mobile_type_icon", false)) { - (XposedHelpers.getObjectField( - param.thisObject, - "mMobileType" - ) as TextView).visibility = View.INVISIBLE - - (XposedHelpers.getObjectField( - param.thisObject, - "mMobileTypeImage" - ) as ImageView).visibility = View.INVISIBLE - - (XposedHelpers.getObjectField( - param.thisObject, - "mMobileTypeSingle" - ) as TextView).visibility = View.INVISIBLE - } - } - }) - + val iconState = "com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$MobileIconState" + "com.android.systemui.statusbar.StatusBarMobileView".hookAfterMethod(lpparam.classLoader, "initViewState", iconState) { + hasEnable("hide_mobile_type_icon") { + (it.thisObject.getObjectField("mMobileType") as TextView).visibility = View.INVISIBLE + (it.thisObject.getObjectField("mMobileTypeImage") as ImageView).visibility = View.INVISIBLE + (it.thisObject.getObjectField("mMobileTypeSingle") as TextView).visibility = View.INVISIBLE + } + } + "com.android.systemui.statusbar.StatusBarMobileView".hookAfterMethod(lpparam.classLoader, "updateState", iconState) { + hasEnable("hide_mobile_type_icon") { + (it.thisObject.getObjectField("mMobileType") as TextView).visibility = View.INVISIBLE + (it.thisObject.getObjectField("mMobileTypeImage") as ImageView).visibility = View.INVISIBLE + (it.thisObject.getObjectField("mMobileTypeSingle") as TextView).visibility = View.INVISIBLE + } + } } } \ No newline at end of file