From f27fdb2f251fa3adb151d4de6d683f274ef9b515 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Fri, 13 Jan 2023 04:56:15 +0800 Subject: [PATCH] Modify merge to YukiHookAPI new usage --- .../tsbattery/hook/entity/QQTIMHooker.kt | 20 ++++++++----------- .../tsbattery/ui/activity/MainActivity.kt | 10 +++------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/fankes/tsbattery/hook/entity/QQTIMHooker.kt b/app/src/main/java/com/fankes/tsbattery/hook/entity/QQTIMHooker.kt index 07bc6af..a956d9f 100644 --- a/app/src/main/java/com/fankes/tsbattery/hook/entity/QQTIMHooker.kt +++ b/app/src/main/java/com/fankes/tsbattery/hook/entity/QQTIMHooker.kt @@ -334,7 +334,7 @@ object QQTIMHooker : YukiBaseHooker() { injectMember { method { name = "a" - param(StringType, LongType) + param(StringClass, LongType) returnType = UnitType } intercept() @@ -401,7 +401,7 @@ object QQTIMHooker : YukiBaseHooker() { injectMember { method { name = "onHook" - param(StringType, AnyType, AnyArrayClass, AnyType) + param(StringClass, AnyClass, AnyArrayClass, AnyClass) } intercept() } @@ -504,14 +504,14 @@ object QQTIMHooker : YukiBaseHooker() { injectMember { method { name = "onWriteLog" - param(StringType, StringType) + param(StringClass, StringClass) } intercept() } injectMember { method { name = "onCmdRequest" - param(StringType) + param(StringClass) } intercept() } @@ -540,21 +540,17 @@ object QQTIMHooker : YukiBaseHooker() { private fun hookQQSettingsUI(instance: Any?, instanceClass: Class<*>) { /** 当前的顶级 Item 实例 */ val formItemRefRoot = instanceClass.field { - // TODO: 这里的 "type" 在之后换成新用法 - type(FormSimpleItemClass).index(num = 1) - }.ignored().get(instance).cast() ?: instanceClass.field { - // TODO: 这里的 "type" 在之后换成新用法 - type(FormCommonSingleLineItemClass).index(num = 1) - }.ignored().get(instance).cast() + type { it.name == FormSimpleItemClass || it.name == FormCommonSingleLineItemClass }.index(num = 1) + }.get(instance).cast() /** 创建一个新的 Item */ FormSimpleItemClass.toClassOrNull()?.buildOf(instance?.compatToActivity()) { param(ContextClass) }?.current { method { name = "setLeftText" - param(CharSequenceType) + param(CharSequenceClass) }.call("TSBattery") method { name = "setRightText" - param(CharSequenceType) + param(CharSequenceClass) }.call("${BuildConfig.VERSION_NAME}(${BuildConfig.VERSION_CODE})") method { name = "setBgType" diff --git a/app/src/main/java/com/fankes/tsbattery/ui/activity/MainActivity.kt b/app/src/main/java/com/fankes/tsbattery/ui/activity/MainActivity.kt index c606b7b..3a5cd5e 100644 --- a/app/src/main/java/com/fankes/tsbattery/ui/activity/MainActivity.kt +++ b/app/src/main/java/com/fankes/tsbattery/ui/activity/MainActivity.kt @@ -167,12 +167,8 @@ class MainActivity : BaseActivity() { /** 刷新模块激活使用的方式 */ private fun refreshActivateExecutor() { - when { - YukiHookAPI.Status.executorVersion > 0 -> - binding.mainTextApiWay.text = - "Activated by ${YukiHookAPI.Status.executorName} API ${YukiHookAPI.Status.executorVersion}" - YukiHookAPI.Status.isTaiChiModuleActive -> binding.mainTextApiWay.text = "Activated by TaiChi" - else -> binding.mainTextApiWay.text = "Activated by anonymous" - } + if (YukiHookAPI.Status.Executor.apiLevel > 0) + binding.mainTextApiWay.text = "Activated by ${YukiHookAPI.Status.Executor.name} API ${YukiHookAPI.Status.Executor.apiLevel}" + else binding.mainTextApiWay.text = "Activated by ${YukiHookAPI.Status.Executor.name}" } } \ No newline at end of file