mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-05 18:25:28 +08:00
Fix Android N (API 24) Activity Proxy problem in AppParasitics, IActivityManagerProxy
This commit is contained in:
@@ -334,7 +334,7 @@ internal object AppParasitics {
|
|||||||
}.getOrNull()?.also { default ->
|
}.getOrNull()?.also { default ->
|
||||||
SingletonClass.field { name = "mInstance" }.ignored().result {
|
SingletonClass.field { name = "mInstance" }.ignored().result {
|
||||||
get(default).apply { any()?.also { set(IActivityManagerProxy.wrapper(IActivityManagerClass, it)) } }
|
get(default).apply { any()?.also { set(IActivityManagerProxy.wrapper(IActivityManagerClass, it)) } }
|
||||||
ActivityTaskManagerClass.field { name = "IActivityTaskManagerSingleton" }.ignored().get().any().also { singleton ->
|
ActivityTaskManagerClass?.field { name = "IActivityTaskManagerSingleton" }?.ignored()?.get()?.any()?.also { singleton ->
|
||||||
SingletonClass.method { name = "get" }.ignored().get(singleton).call()
|
SingletonClass.method { name = "get" }.ignored().get(singleton).call()
|
||||||
get(singleton).apply { any()?.also { set(IActivityManagerProxy.wrapper(IActivityTaskManagerClass, it)) } }
|
get(singleton).apply { any()?.also { set(IActivityManagerProxy.wrapper(IActivityTaskManagerClass, it)) } }
|
||||||
}
|
}
|
||||||
|
@@ -52,7 +52,7 @@ internal class IActivityManagerProxy private constructor(private val baseInstanc
|
|||||||
* @param instance 代理的目标实例
|
* @param instance 代理的目标实例
|
||||||
* @return [Any] 代理包装后的实例
|
* @return [Any] 代理包装后的实例
|
||||||
*/
|
*/
|
||||||
internal fun wrapper(clazz: Class<*>, instance: Any) =
|
internal fun wrapper(clazz: Class<*>?, instance: Any) =
|
||||||
Proxy.newProxyInstance(AppParasitics.baseClassLoader, arrayOf(clazz), IActivityManagerProxy(instance))
|
Proxy.newProxyInstance(AppParasitics.baseClassLoader, arrayOf(clazz), IActivityManagerProxy(instance))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user