From 967fc04de2b6637f51f3f4512d4e9ae477ce19ff Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Fri, 25 Mar 2022 00:43:05 +0800 Subject: [PATCH] Add some type --- .../YukiHookXposedProcessor.kt | 6 +++- .../hook/type/android/ComponentTypeFactory.kt | 8 ++++- .../hook/type/java/VariableTypeFactory.kt | 30 +++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/YukiHookXposedProcessor.kt b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/YukiHookXposedProcessor.kt index bcb6a715..dcb2b409 100644 --- a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/YukiHookXposedProcessor.kt +++ b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi_ksp_xposed/YukiHookXposedProcessor.kt @@ -294,7 +294,11 @@ class YukiHookXposedProcessor : SymbolProcessorProvider { " lpparam.classLoader,\n" + " \"$GET_XPOSED_VERSION_METHOD_NAME\",\n" + " object : XC_MethodReplacement() {\n" + - " override fun replaceHookedMethod(param: MethodHookParam?) = XposedBridge.getXposedVersion()\n" + + " override fun replaceHookedMethod(param: MethodHookParam?) = try {\n" + + " XposedBridge.getXposedVersion()\n" + + " } catch (_: Throwable) {\n" + + " -1\n" + + " }\n" + " })\n" + " YukiHookAPI.isModulePackageXposedEnv = true\n" + " }\n" + diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/type/android/ComponentTypeFactory.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/type/android/ComponentTypeFactory.kt index 46398eeb..4ce00595 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/type/android/ComponentTypeFactory.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/type/android/ComponentTypeFactory.kt @@ -761,4 +761,10 @@ val AccessibilityEventClass get() = AccessibilityEvent::class.java * 获得 [AccessibilityNodeInfo] 类型 * @return [Class] */ -val AccessibilityNodeInfoClass get() = AccessibilityNodeInfo::class.java \ No newline at end of file +val AccessibilityNodeInfoClass get() = AccessibilityNodeInfo::class.java + +/** + * 获得 [IInterface] 类型 + * @return [Class] + */ +val IInterfaceClass get() = IInterface::class.java \ No newline at end of file diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/type/java/VariableTypeFactory.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/type/java/VariableTypeFactory.kt index 188ba2f5..91007afd 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/type/java/VariableTypeFactory.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/type/java/VariableTypeFactory.kt @@ -249,6 +249,12 @@ val WeakHashMapClass get() = WeakHashMap::class.java */ val WeakReferenceClass get() = WeakReference::class.java +/** + * 获得 [Enum] 类型 + * @return [Class] + */ +val EnumClass get() = Enum::class.java + /** * 获得 [Map] 类型 * @return [Class] @@ -473,6 +479,30 @@ val JavaAnnotationClass get() = Annotation::class.java */ val FunctionClass get() = java.util.function.Function::class.java +/** + * 获得 [Optional] 类型 + * @return [Class] + */ +val OptionalClass get() = Optional::class.java + +/** + * 获得 [OptionalInt] 类型 + * @return [Class] + */ +val OptionalIntClass get() = OptionalInt::class.java + +/** + * 获得 [OptionalLong] 类型 + * @return [Class] + */ +val OptionalLongClass get() = OptionalLong::class.java + +/** + * 获得 [OptionalDouble] 类型 + * @return [Class] + */ +val OptionalDoubleClass get() = OptionalDouble::class.java + /** * 获得 [Objects] 类型 * @return [Class]