commit 0c99ae15ba87871403a7c5345707ea6d76a5c194
parent 00dd9e6dce94dbb3b20174c879db98aa74c3f53c
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date: Wed, 26 Feb 2025 11:50:23 +0100
fix(core): addView hook
Signed-off-by: rhunk <101876869+rhunk@users.noreply.github.com>
Diffstat:
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/event/EventDispatcher.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/event/EventDispatcher.kt
@@ -5,12 +5,12 @@ import android.content.Intent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.view.ViewGroup.LayoutParams
import me.rhunk.snapenhance.common.util.snap.SnapWidgetBroadcastReceiverHelper
import me.rhunk.snapenhance.core.ModContext
import me.rhunk.snapenhance.core.event.events.impl.*
import me.rhunk.snapenhance.core.util.hook.HookStage
import me.rhunk.snapenhance.core.util.hook.Hooker
+import me.rhunk.snapenhance.core.util.hook.findRestrictedMethod
import me.rhunk.snapenhance.core.util.hook.hook
import me.rhunk.snapenhance.core.util.hook.hookConstructor
import me.rhunk.snapenhance.core.util.ktx.getObjectField
@@ -109,12 +109,9 @@ class EventDispatcher(
}
}
- ViewGroup::class.java.getMethod(
- "addView",
- View::class.java,
- Int::class.javaPrimitiveType,
- LayoutParams::class.java
- ).hook(HookStage.BEFORE) { param ->
+ ViewGroup::class.java.findRestrictedMethod {
+ it.name == "addViewInner"
+ }!!.hook(HookStage.BEFORE) { param ->
context.event.post(
AddViewEvent(
parent = param.thisObject(),