diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideMobileActivityIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideMobileActivityIcon.kt index de1d5fbf..e4bd96f2 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideMobileActivityIcon.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideMobileActivityIcon.kt @@ -2,58 +2,27 @@ package com.lt2333.simplicitytools.hook.app.systemui import android.view.View import android.widget.ImageView -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 HideMobileActivityIcon : 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_activity_icon", false)) { - (XposedHelpers.getObjectField( - param.thisObject, - "mLeftInOut" - ) as ImageView).visibility = View.GONE - - (XposedHelpers.getObjectField( - param.thisObject, - "mRightInOut" - ) as ImageView).visibility = View.GONE - } - } - }) - - XposedHelpers.findAndHookMethod( - classIfExists, - "updateState", - "com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$MobileIconState", - object : XC_MethodHook() { - override fun afterHookedMethod(param: MethodHookParam) { - if (XSPUtils.getBoolean("hide_mobile_activity_icon", false)) { - (XposedHelpers.getObjectField( - param.thisObject, - "mLeftInOut" - ) as ImageView).visibility = View.GONE - - (XposedHelpers.getObjectField( - param.thisObject, - "mRightInOut" - ) as ImageView).visibility = View.GONE - } - } - }) - + val iconState = "com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$MobileIconState" + "com.android.systemui.statusbar.StatusBarMobileView".hookAfterMethod(lpparam.classLoader, "initViewState", iconState) { + hasEnable("hide_mobile_activity_icon") { + (it.thisObject.getObjectField("mLeftInOut") as ImageView).visibility = View.GONE + (it.thisObject.getObjectField("mRightInOut") as ImageView).visibility = View.GONE + } + } + "com.android.systemui.statusbar.StatusBarMobileView".hookAfterMethod(lpparam.classLoader, "updateState", iconState) { + hasEnable("hide_mobile_activity_icon") { + (it.thisObject.getObjectField("mLeftInOut") as ImageView).visibility = View.GONE + (it.thisObject.getObjectField("mRightInOut") as ImageView).visibility = View.GONE + } + } } } \ No newline at end of file