Fix some hooking process not always in the correct process problem in YukiXposedModule

This commit is contained in:
2023-01-31 23:40:20 +08:00
parent 244903553c
commit 249a39dc05

View File

@@ -212,13 +212,13 @@ internal object YukiXposedModule : IYukiXposedModuleLifecycle {
if (isPackageLoaded(packageName, HookEntryType.RESOURCES).not() && packageName == AppParasitics.currentPackageName)
assignWrapper(HookEntryType.RESOURCES, packageName, appResources = appResources)
else null
}?.also {
runCatching {
if (it.isCorrectProcess) packageParamCallback?.invoke(it.instantiate().assign(it).apply { YukiHookAPI.printSplashInfo() })
if (it.type != HookEntryType.ZYGOTE && it.packageName == modulePackageName)
AppParasitics.hookModuleAppRelated(it.appClassLoader, it.type)
if (it.type == HookEntryType.PACKAGE) AppParasitics.registerToAppLifecycle(it.packageName)
if (it.type == HookEntryType.RESOURCES) isSupportResourcesHook = true
}?.also { wrapper ->
if (wrapper.isCorrectProcess) runCatching {
if (wrapper.type != HookEntryType.ZYGOTE && wrapper.packageName == modulePackageName)
AppParasitics.hookModuleAppRelated(wrapper.appClassLoader, wrapper.type)
if (wrapper.type == HookEntryType.PACKAGE) AppParasitics.registerToAppLifecycle(wrapper.packageName)
if (wrapper.type == HookEntryType.RESOURCES) isSupportResourcesHook = true
packageParamCallback?.invoke(wrapper.instantiate().assign(wrapper).apply { YukiHookAPI.printSplashInfo() })
}.onFailure { yLoggerE(msg = "An exception occurred in the Hooking Process of YukiHookAPI", e = it) }
}
}