From 5370f2ad8947da3dbd3786dfbdf41a4e76e9e161 Mon Sep 17 00:00:00 2001 From: Howard Wu Date: Mon, 26 Aug 2024 10:07:35 +0800 Subject: [PATCH] Fix failure to get INSTANCE (#2) INSTANCE can only be captured once --- app/src/main/kotlin/top/yukonga/mediaControlBlur/MainHook.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/top/yukonga/mediaControlBlur/MainHook.kt b/app/src/main/kotlin/top/yukonga/mediaControlBlur/MainHook.kt index 59e4867..658ad54 100644 --- a/app/src/main/kotlin/top/yukonga/mediaControlBlur/MainHook.kt +++ b/app/src/main/kotlin/top/yukonga/mediaControlBlur/MainHook.kt @@ -66,6 +66,8 @@ class MainHook : IXposedHookLoadPackage { val seekBarObserver = loadClassOrNull("com.android.systemui.media.controls.models.player.SeekBarObserver") val mediaViewHolder = loadClassOrNull("com.android.systemui.media.controls.models.player.MediaViewHolder") val statusBarStateControllerImpl = loadClassOrNull("com.android.systemui.statusbar.StatusBarStateControllerImpl") + val miuiStubClass = loadClassOrNull("miui.stub.MiuiStub") + val miuiStubInstance = XposedHelpers.getStaticObjectField(miuiStubClass, "INSTANCE") mediaViewHolder?.constructors?.first()?.createAfterHook { val context = AndroidAppHelper.currentApplication().applicationContext @@ -183,8 +185,6 @@ class MainHook : IXposedHookLoadPackage { constructor.createAfterHook { val context = AndroidAppHelper.currentApplication().applicationContext - val miuiStubClass = loadClassOrNull("miui.stub.MiuiStub") - val miuiStubInstance = XposedHelpers.getStaticObjectField(miuiStubClass, "INSTANCE") val mSysUIProvider = XposedHelpers.getObjectField(miuiStubInstance, "mSysUIProvider") val mStatusBarStateController = XposedHelpers.getObjectField(mSysUIProvider, "mStatusBarStateController") val getLazyClass = XposedHelpers.callMethod(mStatusBarStateController, "get")