refactor: move xposed module status function to auto generator

This commit is contained in:
2023-10-05 00:36:55 +08:00
parent 922907fa0f
commit da26016630
6 changed files with 42 additions and 34 deletions

View File

@@ -184,6 +184,8 @@ class YukiHookXposedProcessor : SymbolProcessorProvider {
data.customMPackageName = args.value.toString().trim()
if (args.name?.asString() == "entryClassName")
data.xInitClassName = args.value.toString().trim()
if (args.name?.asString() == "isUsingXposedModuleStatus")
data.isUsingXposedModuleStatus = args.value as? Boolean ?: true
if (args.name?.asString() == "isUsingResourcesHook")
data.isUsingResourcesHook = args.value as? Boolean ?: true
}
@@ -274,18 +276,20 @@ class YukiHookXposedProcessor : SymbolProcessorProvider {
packageName = PackageName.ModuleApplication_Impl,
content = data.sources()[ClassName.ModuleApplication_Impl]
)
/** 插入 YukiXposedModuleStatus_Impl 代码 */
createCodeFile(
fileName = ClassName.YukiXposedModuleStatus_Impl,
packageName = PackageName.YukiXposedModuleStatus_Impl,
content = data.sources()[ClassName.YukiXposedModuleStatus_Impl]
)
/** 插入 YukiXposedModuleStatus_Impl_Impl 代码 */
createCodeFile(
fileName = ClassName.YukiXposedModuleStatus_Impl_Impl,
packageName = PackageName.YukiXposedModuleStatus_Impl,
content = data.sources()[ClassName.YukiXposedModuleStatus_Impl_Impl]
)
if (data.isUsingXposedModuleStatus) {
/** 插入 YukiXposedModuleStatus_Impl 代码 */
createCodeFile(
fileName = ClassName.YukiXposedModuleStatus_Impl,
packageName = PackageName.YukiXposedModuleStatus_Impl,
content = data.sources()[ClassName.YukiXposedModuleStatus_Impl]
)
/** 插入 YukiXposedModuleStatus_Impl_Impl 代码 */
createCodeFile(
fileName = ClassName.YukiXposedModuleStatus_Impl_Impl,
packageName = PackageName.YukiXposedModuleStatus_Impl,
content = data.sources()[ClassName.YukiXposedModuleStatus_Impl_Impl]
)
}
/** 插入 HandlerDelegateImpl_Impl 代码 */
createCodeFile(
fileName = ClassName.HandlerDelegateImpl_Impl,

View File

@@ -35,6 +35,7 @@ package com.highcapable.yukihookapi.bean
* @param entryClassName 入口类名
* @param xInitClassName xposed_init 入口类名
* @param isEntryClassKindOfObject 入口类种类 (类型) 是否为 object (单例)
* @param isUsingXposedModuleStatus 是否启用 Xposed 模块状态检测
* @param isUsingResourcesHook 是否启用 Resources Hook
*/
data class GenerateData(
@@ -44,5 +45,6 @@ data class GenerateData(
var entryClassName: String = "",
var xInitClassName: String = "",
var isEntryClassKindOfObject: Boolean = false,
var isUsingResourcesHook: Boolean = true
var isUsingXposedModuleStatus: Boolean = true,
var isUsingResourcesHook: Boolean = false
)