mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
Modify move name to object const variable in YukiHookXposedProcessor, CodeSourceFileFactory
This commit is contained in:
@@ -35,6 +35,8 @@ import com.google.devtools.ksp.symbol.FileLocation
|
||||
import com.google.devtools.ksp.symbol.KSAnnotated
|
||||
import com.google.devtools.ksp.symbol.KSClassDeclaration
|
||||
import com.highcapable.yukihookapi_ksp_xposed.bean.GenerateData
|
||||
import com.highcapable.yukihookapi_ksp_xposed.factory.ClassName
|
||||
import com.highcapable.yukihookapi_ksp_xposed.factory.PackageName
|
||||
import com.highcapable.yukihookapi_ksp_xposed.factory.sources
|
||||
import org.w3c.dom.Element
|
||||
import org.w3c.dom.Node
|
||||
@@ -233,15 +235,15 @@ class YukiHookXposedProcessor : SymbolProcessorProvider {
|
||||
)
|
||||
/** 插入 ModuleApplication_Impl 代码 */
|
||||
createCodeFile(
|
||||
fileName = "ModuleApplication_Impl",
|
||||
packageName = "com.highcapable.yukihookapi.hook.xposed.application",
|
||||
content = data.sources()["ModuleApplication_Impl"]
|
||||
fileName = ClassName.ModuleApplication_Impl,
|
||||
packageName = PackageName.ModuleApplication_Impl,
|
||||
content = data.sources()[ClassName.ModuleApplication_Impl]
|
||||
)
|
||||
/** 插入 YukiHookBridge_Impl 代码 */
|
||||
createCodeFile(
|
||||
fileName = "YukiHookBridge_Impl",
|
||||
packageName = "com.highcapable.yukihookapi.hook.xposed.bridge",
|
||||
content = data.sources()["YukiHookBridge_Impl"]
|
||||
fileName = ClassName.YukiHookBridge_Impl,
|
||||
packageName = PackageName.YukiHookBridge_Impl,
|
||||
content = data.sources()[ClassName.YukiHookBridge_Impl]
|
||||
)
|
||||
/** 插入 xposed_init 代码 */
|
||||
createCodeFile(
|
||||
|
@@ -31,6 +31,22 @@ import com.highcapable.yukihookapi_ksp_xposed.bean.GenerateData
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* 包名常量定义类
|
||||
*/
|
||||
object PackageName {
|
||||
const val ModuleApplication_Impl = "com.highcapable.yukihookapi.hook.xposed.application"
|
||||
const val YukiHookBridge_Impl = "com.highcapable.yukihookapi.hook.xposed.bridge"
|
||||
}
|
||||
|
||||
/**
|
||||
* 类名常量定义类
|
||||
*/
|
||||
object ClassName {
|
||||
const val ModuleApplication_Impl = "ModuleApplication_Impl"
|
||||
const val YukiHookBridge_Impl = "YukiHookBridge_Impl"
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建文件注释
|
||||
* @param entryClassName 入口类名 - 空则不生成
|
||||
@@ -39,7 +55,7 @@ import java.util.*
|
||||
*/
|
||||
private fun createCommentContent(entryClassName: String = "", currrentClassTag: String) =
|
||||
("/**\n" +
|
||||
" * $currrentClassTag Inject Class\n" +
|
||||
" * $currrentClassTag Class\n" +
|
||||
" *\n" +
|
||||
" * Compiled from YukiHookXposedProcessor\n" +
|
||||
" *\n" +
|
||||
@@ -56,26 +72,26 @@ private fun createCommentContent(entryClassName: String = "", currrentClassTag:
|
||||
* @return [Map]<[String],[String]>
|
||||
*/
|
||||
fun GenerateData.sources() = mapOf(
|
||||
"ModuleApplication_Impl" to ("@file:Suppress(\"ClassName\")\n" +
|
||||
ClassName.ModuleApplication_Impl to ("@file:Suppress(\"ClassName\")\n" +
|
||||
"\n" +
|
||||
"package com.highcapable.yukihookapi.hook.xposed.application\n" +
|
||||
"package ${PackageName.ModuleApplication_Impl}\n" +
|
||||
"\n" +
|
||||
"import $entryPackageName.$entryClassName\n" +
|
||||
"\n" +
|
||||
createCommentContent(entryClassName, currrentClassTag = "ModuleApplication") +
|
||||
"object ModuleApplication_Impl {\n" +
|
||||
createCommentContent(entryClassName, ClassName.ModuleApplication_Impl) +
|
||||
"object ${ClassName.ModuleApplication_Impl} {\n" +
|
||||
"\n" +
|
||||
" fun callHookEntryInit() = try {\n" +
|
||||
" $entryClassName().onInit()\n" +
|
||||
" } catch (_: Throwable) {\n" +
|
||||
" }\n" +
|
||||
"}"),
|
||||
"YukiHookBridge_Impl" to ("@file:Suppress(\"ClassName\")\n" +
|
||||
ClassName.YukiHookBridge_Impl to ("@file:Suppress(\"ClassName\")\n" +
|
||||
"\n" +
|
||||
"package com.highcapable.yukihookapi.hook.xposed.bridge\n" +
|
||||
"package ${PackageName.YukiHookBridge_Impl}\n" +
|
||||
"\n" +
|
||||
createCommentContent(currrentClassTag = "YukiHookBridge") +
|
||||
"object YukiHookBridge_Impl {\n" +
|
||||
createCommentContent(currrentClassTag = ClassName.YukiHookBridge_Impl) +
|
||||
"object ${ClassName.YukiHookBridge_Impl} {\n" +
|
||||
"\n" +
|
||||
" val compiledTimestamp get() = ${System.currentTimeMillis()}\n" +
|
||||
"}"),
|
||||
|
Reference in New Issue
Block a user