From 75bdc2d1cb32ac81593e4821bebc3e8a01652301 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Mon, 2 Jan 2023 18:32:55 +0800 Subject: [PATCH] Fix short method hook may not take effect in some Hook Framework in CodeSourceFileFactory --- .../factory/CodeSourceFileFactory.kt | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/factory/CodeSourceFileFactory.kt b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/factory/CodeSourceFileFactory.kt index 1b5bd649..1acc2d5e 100644 --- a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/factory/CodeSourceFileFactory.kt +++ b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/factory/CodeSourceFileFactory.kt @@ -116,6 +116,7 @@ fun GenerateData.sources() = mapOf( "\n" + "package com.highcapable.yukihookapi.hook.xposed.bridge.status\n" + "\n" + + "import android.util.Log\n" + "import androidx.annotation.Keep\n" + "\n" + createCommentContent(currrentClassTag = ClassName.YukiHookModuleStatus_Impl) + @@ -123,16 +124,32 @@ fun GenerateData.sources() = mapOf( "object YukiHookModuleStatus_Impl {\n" + "\n" + " @JvmName(\"${YukiHookModuleStatusJvmName.IS_ACTIVE_METHOD_NAME}\")\n" + - " fun isActive() = false\n" + + " fun isActive(): Boolean {\n" + + " placeholderExecution()\n" + + " return false\n" + + " }\n" + "\n" + " @JvmName(\"${YukiHookModuleStatusJvmName.HAS_RESOURCES_HOOK_METHOD_NAME}\")\n" + - " fun hasResourcesHook() = false\n" + + " fun hasResourcesHook(): Boolean {\n" + + " placeholderExecution()\n" + + " return false\n" + + " }\n" + "\n" + " @JvmName(\"${YukiHookModuleStatusJvmName.GET_XPOSED_VERSION_METHOD_NAME}\")\n" + - " fun getXposedVersion() = -1\n" + + " fun getXposedVersion(): Int {\n" + + " placeholderExecution()\n" + + " return -1\n" + + " }\n" + "\n" + " @JvmName(\"${YukiHookModuleStatusJvmName.GET_XPOSED_TAG_METHOD_NAME}\")\n" + - " fun getXposedBridgeTag() = \"unknown\"\n" + + " fun getXposedBridgeTag(): String {\n" + + " placeholderExecution()\n" + + " return \"unknown\"\n" + + " }\n" + + "\n" + + " private fun placeholderExecution() {\n" + + " Log.d(\"YukiHookAPI-Placeholder\", \"No trace of hook in this time\")\n" + + " }\n" + "}"), ClassName.XposedInit to ("@file:Suppress(\"ClassName\")\n" + "\n" +