diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md
index fcf802f2..186fdd98 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md
@@ -13,7 +13,7 @@ You can use the **Chrome Translation Plugin** to translate entire pages for refe
# CurrentClass - class
```kotlin:no-line-numbers
-class CurrentClass internal constructor(internal val classSet: Class<*>, internal val instance: Any)
+class CurrentClass internal constructor(private val classSet: Class<*>, internal val instance: Any)
```
**Change Records**
@@ -133,7 +133,7 @@ inline fun method(initiate: MethodConditions): MethodFinder.Result.Instance
## SuperClass - class
```kotlin:no-line-numbers
-inner class SuperClass internal constructor(internal val superClassSet: Class<*>)
+inner class SuperClass internal constructor(private val superClassSet: Class<*>)
```
**Change Records**
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
index 08766d31..392bdf4c 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
@@ -13,7 +13,7 @@ You can use the **Chrome Translation Plugin** to translate entire pages for refe
# YukiMemberHookCreator - class
```kotlin:no-line-numbers
-class YukiMemberHookCreator internal constructor(internal val packageParam: PackageParam, internal val hookClass: HookClass)
+class YukiMemberHookCreator internal constructor(private val packageParam: PackageParam, private val hookClass: HookClass)
```
**Change Records**
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.md
index 00b1db98..1ad595d4 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.md
@@ -13,7 +13,7 @@ You can use the **Chrome Translation Plugin** to translate entire pages for refe
# ConstructorRules - class
```kotlin:no-line-numbers
-class ConstructorRules internal constructor(internal val rulesData: ConstructorRulesData) : BaseRules
+class ConstructorRules internal constructor(private val rulesData: ConstructorRulesData) : BaseRules
```
**Change Records**
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.md
index 19b362cd..277e9d86 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.md
@@ -13,7 +13,7 @@ You can use the **Chrome Translation Plugin** to translate entire pages for refe
# FieldRules - class
```kotlin:no-line-numbers
-class FieldRules internal constructor(internal val rulesData: FieldRulesData) : BaseRules
+class FieldRules internal constructor(private val rulesData: FieldRulesData) : BaseRules
```
**Change Records**
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.md
index ac2afba2..1b0b8209 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.md
@@ -13,7 +13,7 @@ You can use the **Chrome Translation Plugin** to translate entire pages for refe
# MemberRules - class
```kotlin:no-line-numbers
-class MemberRules internal constructor(internal val rulesData: MemberRulesData) : BaseRules
+class MemberRules internal constructor(private val rulesData: MemberRulesData) : BaseRules
```
**Change Records**
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.md
index 1cf52388..75ae85e7 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.md
@@ -13,7 +13,7 @@ You can use the **Chrome Translation Plugin** to translate entire pages for refe
# MethodRules - class
```kotlin:no-line-numbers
-class MethodRules internal constructor(internal val rulesData: MethodRulesData) : BaseRules
+class MethodRules internal constructor(private val rulesData: MethodRulesData) : BaseRules
```
**Change Records**
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.md
index 8fa4e96d..2f8003ed 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.md
@@ -317,7 +317,7 @@ field {
## Result - class
```kotlin:no-line-numbers
-inner class Result internal constructor(internal val isNoSuch: Boolean, private val throwable: Throwable?) : BaseResult
+inner class Result internal constructor(internal val isNoSuch: Boolean, internal val throwable: Throwable?) : BaseResult
```
**Change Records**
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.md
index 72e78b5c..cd14f008 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.md
@@ -27,7 +27,7 @@ class YukiResources private constructor(private val baseInstance: XResources) :
## LayoutInflatedParam - class
```kotlin:no-line-numbers
-class LayoutInflatedParam(internal val baseParam: XC_LayoutInflated.LayoutInflatedParam)
+class LayoutInflatedParam(private val baseParam: XC_LayoutInflated.LayoutInflatedParam)
```
**Change Records**
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md
index 42baa9ce..cc8eddef 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/bean/CurrentClass.md
@@ -5,7 +5,7 @@ pageClass: code-page
# CurrentClass - class
```kotlin:no-line-numbers
-class CurrentClass internal constructor(internal val classSet: Class<*>, internal val instance: Any)
+class CurrentClass internal constructor(private val classSet: Class<*>, internal val instance: Any)
```
**变更记录**
@@ -125,7 +125,7 @@ inline fun method(initiate: MethodConditions): MethodFinder.Result.Instance
## SuperClass - class
```kotlin:no-line-numbers
-inner class SuperClass internal constructor(internal val superClassSet: Class<*>)
+inner class SuperClass internal constructor(private val superClassSet: Class<*>)
```
**变更记录**
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
index 6faaa818..23942af4 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.md
@@ -5,7 +5,7 @@ pageClass: code-page
# YukiMemberHookCreator - class
```kotlin:no-line-numbers
-class YukiMemberHookCreator internal constructor(internal val packageParam: PackageParam, internal val hookClass: HookClass)
+class YukiMemberHookCreator internal constructor(private val packageParam: PackageParam, private val hookClass: HookClass)
```
**变更记录**
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.md
index d99a5d85..4f1892ac 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.md
@@ -5,7 +5,7 @@ pageClass: code-page
# ConstructorRules - class
```kotlin:no-line-numbers
-class ConstructorRules internal constructor(internal val rulesData: ConstructorRulesData) : BaseRules
+class ConstructorRules internal constructor(private val rulesData: ConstructorRulesData) : BaseRules
```
**变更记录**
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.md
index 4b37f931..b3a69bfc 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.md
@@ -5,7 +5,7 @@ pageClass: code-page
# FieldRules - class
```kotlin:no-line-numbers
-class FieldRules internal constructor(internal val rulesData: FieldRulesData) : BaseRules
+class FieldRules internal constructor(private val rulesData: FieldRulesData) : BaseRules
```
**变更记录**
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.md
index 4e74f72d..4be49f48 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.md
@@ -5,7 +5,7 @@ pageClass: code-page
# MemberRules - class
```kotlin:no-line-numbers
-class MemberRules internal constructor(internal val rulesData: MemberRulesData) : BaseRules
+class MemberRules internal constructor(private val rulesData: MemberRulesData) : BaseRules
```
**变更记录**
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.md
index 56439a76..47fdcb2f 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.md
@@ -5,7 +5,7 @@ pageClass: code-page
# MethodRules - class
```kotlin:no-line-numbers
-class MethodRules internal constructor(internal val rulesData: MethodRulesData) : BaseRules
+class MethodRules internal constructor(private val rulesData: MethodRulesData) : BaseRules
```
**变更记录**
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.md
index 47a7c295..f64e42cb 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.md
@@ -309,7 +309,7 @@ field {
## Result - class
```kotlin:no-line-numbers
-inner class Result internal constructor(internal val isNoSuch: Boolean, private val throwable: Throwable?) : BaseResult
+inner class Result internal constructor(internal val isNoSuch: Boolean, internal val throwable: Throwable?) : BaseResult
```
**变更记录**
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.md
index 78ed7e5e..2be9e709 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.md
@@ -19,7 +19,7 @@ class YukiResources private constructor(private val baseInstance: XResources) :
## LayoutInflatedParam - class
```kotlin:no-line-numbers
-class LayoutInflatedParam(internal val baseParam: XC_LayoutInflated.LayoutInflatedParam)
+class LayoutInflatedParam(private val baseParam: XC_LayoutInflated.LayoutInflatedParam)
```
**变更记录**
diff --git a/gradle.properties b/gradle.properties
index 1f623a5a..4f747f6d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -11,8 +11,6 @@ project.url=https://github.com/fankes/YukiHookAPI
project.groupName=com.highcapable.yukihookapi
project.yukihookapi-core.moduleName=api
project.yukihookapi-core.version="1.0.11"
-project.yukihookapi-core.kotlin-optIn.YukiPrivateApi=${project.groupName}.annotation.YukiPrivateApi
-project.yukihookapi-core.kotlin-optIn.YukiGenerateApi=${project.groupName}.annotation.YukiGenerateApi
project.yukihookapi-ksp-xposed.moduleName=ksp-xposed
project.yukihookapi-ksp-xposed.version=${project.yukihookapi-core.version}
project.licence.name=MIT
diff --git a/yukihookapi-core/build.gradle.kts b/yukihookapi-core/build.gradle.kts
index d1825604..4a5a5ed0 100644
--- a/yukihookapi-core/build.gradle.kts
+++ b/yukihookapi-core/build.gradle.kts
@@ -25,8 +25,6 @@ android {
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs = listOf(
- "-opt-in=${property.project.yukihookapi.core.kotlin.optIn.yukiPrivateApi}",
- "-opt-in=${property.project.yukihookapi.core.kotlin.optIn.yukiGenerateApi}",
"-Xno-param-assertions",
"-Xno-call-assertions",
"-Xno-receiver-assertions"
@@ -35,17 +33,6 @@ android {
lint { checkReleaseBuilds = false }
}
-kotlin {
- sourceSets {
- all {
- languageSettings {
- optIn(property.project.yukihookapi.core.kotlin.optIn.yukiPrivateApi)
- optIn(property.project.yukihookapi.core.kotlin.optIn.yukiGenerateApi)
- }
- }
- }
-}
-
dependencies {
compileOnly(de.robv.android.xposed.api)
compileOnly(projects.yukihookapiStub)
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/YukiHookAPI.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/YukiHookAPI.kt
index 78f2771a..954bac7f 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/YukiHookAPI.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/YukiHookAPI.kt
@@ -25,7 +25,7 @@
*
* This file is created by fankes on 2022/2/2.
*/
-@file:Suppress("MemberVisibilityCanBePrivate", "unused")
+@file:Suppress("unused", "MemberVisibilityCanBePrivate", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/CauseProblemsApi.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/CauseProblemsApi.kt
index 2f5ba0c0..00957b55 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/CauseProblemsApi.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/CauseProblemsApi.kt
@@ -52,4 +52,4 @@ package com.highcapable.yukihookapi.annotation
*
* 此功能除继承和接口外不应该在这里被调用
*/
-annotation class CauseProblemsApi
\ No newline at end of file
+internal annotation class CauseProblemsApi
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/YukiGenerateApi.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/YukiGenerateApi.kt
deleted file mode 100644
index fa917470..00000000
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/YukiGenerateApi.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * YukiHookAPI - An efficient Hook API and Xposed Module solution built in Kotlin.
- * Copyright (C) 2019-2023 HighCapable
- * https://github.com/fankes/YukiHookAPI
- *
- * MIT License
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * This file is created by fankes on 2022/4/3.
- */
-@file:Suppress("unused")
-
-package com.highcapable.yukihookapi.annotation
-
-@RequiresOptIn(level = RequiresOptIn.Level.ERROR)
-@MustBeDocumented
-@Target(
- AnnotationTarget.CLASS,
- AnnotationTarget.CONSTRUCTOR,
- AnnotationTarget.FUNCTION,
- AnnotationTarget.ANNOTATION_CLASS,
- AnnotationTarget.PROPERTY,
- AnnotationTarget.FIELD,
- AnnotationTarget.LOCAL_VARIABLE,
- AnnotationTarget.VALUE_PARAMETER,
- AnnotationTarget.PROPERTY_GETTER,
- AnnotationTarget.PROPERTY_SETTER,
- AnnotationTarget.TYPEALIAS
-)
-@Retention(AnnotationRetention.BINARY)
-/**
- * - ❗标记为自动生成调用的 API
- *
- * 此功能除继承和接口外不应该在这里被调用
- */
-annotation class YukiGenerateApi
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/YukiPrivateApi.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/YukiPrivateApi.kt
deleted file mode 100644
index 7bb452de..00000000
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/annotation/YukiPrivateApi.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * YukiHookAPI - An efficient Hook API and Xposed Module solution built in Kotlin.
- * Copyright (C) 2019-2023 HighCapable
- * https://github.com/fankes/YukiHookAPI
- *
- * MIT License
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * This file is created by fankes on 2022/4/3.
- */
-@file:Suppress("unused")
-
-package com.highcapable.yukihookapi.annotation
-
-@RequiresOptIn(level = RequiresOptIn.Level.ERROR)
-@MustBeDocumented
-@Target(
- AnnotationTarget.CLASS,
- AnnotationTarget.CONSTRUCTOR,
- AnnotationTarget.FUNCTION,
- AnnotationTarget.ANNOTATION_CLASS,
- AnnotationTarget.PROPERTY,
- AnnotationTarget.FIELD,
- AnnotationTarget.LOCAL_VARIABLE,
- AnnotationTarget.VALUE_PARAMETER,
- AnnotationTarget.PROPERTY_GETTER,
- AnnotationTarget.PROPERTY_SETTER,
- AnnotationTarget.TYPEALIAS
-)
-@Retention(AnnotationRetention.BINARY)
-/**
- * - ❗标记功能为私有功能性 API
- *
- * 此功能除继承和接口外不应该在这里被调用
- */
-internal annotation class YukiPrivateApi
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/CurrentClass.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/CurrentClass.kt
index 84f1257b..17b0993f 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/CurrentClass.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/CurrentClass.kt
@@ -25,7 +25,7 @@
*
* This file is created by fankes on 2022/4/4.
*/
-@file:Suppress("unused")
+@file:Suppress("unused", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.bean
@@ -42,11 +42,10 @@ import com.highcapable.yukihookapi.hook.factory.method
* @param classSet 当前实例的 [Class]
* @param instance 当前实例本身
*/
-class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val classSet: Class<*>, @PublishedApi internal val instance: Any) {
+class CurrentClass internal constructor(private val classSet: Class<*>, internal val instance: Any) {
/** 是否开启忽略错误警告功能 */
- @PublishedApi
- internal var isShutErrorPrinting = false
+ internal var isIgnoreErrorLogs = false
/**
* 获得当前 [classSet] 的 [Class.getName]
@@ -88,14 +87,14 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val
* @param initiate 查找方法体
* @return [FieldFinder.Result.Instance]
*/
- inline fun field(initiate: FieldConditions) = classSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance)
+ inline fun field(initiate: FieldConditions) = classSet.field(initiate).result { if (isIgnoreErrorLogs) ignored() }.get(instance)
/**
* 调用当前实例中的方法
* @param initiate 查找方法体
* @return [MethodFinder.Result.Instance]
*/
- inline fun method(initiate: MethodConditions) = classSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance)
+ inline fun method(initiate: MethodConditions) = classSet.method(initiate).result { if (isIgnoreErrorLogs) ignored() }.get(instance)
/**
* 当前类的父类实例的类操作对象
@@ -103,7 +102,7 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val
* - ❗请使用 [superClass] 方法来获取 [SuperClass]
* @param superClassSet 父类 [Class] 对象
*/
- inner class SuperClass internal constructor(@PublishedApi internal val superClassSet: Class<*>) {
+ inner class SuperClass internal constructor(private val superClassSet: Class<*>) {
/**
* 获得当前 [classSet] 中父类的 [Class.getName]
@@ -139,7 +138,7 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val
* @param initiate 查找方法体
* @return [FieldFinder.Result.Instance]
*/
- inline fun field(initiate: FieldConditions) = superClassSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance)
+ inline fun field(initiate: FieldConditions) = superClassSet.field(initiate).result { if (isIgnoreErrorLogs) ignored() }.get(instance)
/**
* 调用父类实例中的方法
@@ -147,7 +146,7 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val
* @return [MethodFinder.Result.Instance]
*/
inline fun method(initiate: MethodConditions) =
- superClassSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance)
+ superClassSet.method(initiate).result { if (isIgnoreErrorLogs) ignored() }.get(instance)
override fun toString() = "CurrentClass super [$superClassSet]"
}
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/GenericClass.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/GenericClass.kt
index af10fb37..2756d491 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/GenericClass.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/GenericClass.kt
@@ -25,7 +25,7 @@
*
* This file is created by fankes on 2022/9/20.
*/
-@file:Suppress("unused", "UNCHECKED_CAST")
+@file:Suppress("unused", "UNCHECKED_CAST", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.bean
@@ -35,7 +35,7 @@ import java.lang.reflect.ParameterizedType
* 当前 [Class] 的泛型父类操作对象
* @param type 类型声明实例
*/
-class GenericClass internal constructor(@PublishedApi internal val type: ParameterizedType) {
+class GenericClass internal constructor(private val type: ParameterizedType) {
/**
* 获得泛型参数数组下标的 [Class] 实例
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/HookClass.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/HookClass.kt
index a968b1f8..4fd91a4b 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/HookClass.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/bean/HookClass.kt
@@ -34,9 +34,9 @@ package com.highcapable.yukihookapi.hook.bean
* @param throwable 异常
*/
class HookClass internal constructor(
- @PublishedApi internal var instance: Class<*>? = null,
- @PublishedApi internal var name: String,
- @PublishedApi internal var throwable: Throwable? = null
+ internal var instance: Class<*>? = null,
+ internal var name: String,
+ internal var throwable: Throwable? = null
) {
override fun toString() = "[class] $name [throwable] $throwable [instance] $instance"
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.kt
index 4669a514..cfa9f87f 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/YukiMemberHookCreator.kt
@@ -25,7 +25,7 @@
*
* This file is created by fankes on 2022/2/2.
*/
-@file:Suppress("MemberVisibilityCanBePrivate", "UnusedReceiverParameter", "unused", "PropertyName")
+@file:Suppress("unused", "MemberVisibilityCanBePrivate", "UnusedReceiverParameter", "PropertyName", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.core
@@ -81,10 +81,7 @@ import java.lang.reflect.Method
* @param packageParam 需要传入 [PackageParam] 实现方法调用
* @param hookClass 要 Hook 的 [HookClass] 实例
*/
-class YukiMemberHookCreator @PublishedApi internal constructor(
- @PublishedApi internal val packageParam: PackageParam,
- @PublishedApi internal val hookClass: HookClass
-) {
+class YukiMemberHookCreator internal constructor(private val packageParam: PackageParam, private val hookClass: HookClass) {
/** 默认 Hook 回调优先级 */
val PRIORITY_DEFAULT = 0x0
@@ -108,15 +105,13 @@ class YukiMemberHookCreator @PublishedApi internal constructor(
private var isDisableCreatorRunHook = false
/** 设置要 Hook 的 [Method]、[Constructor] */
- @PublishedApi
- internal var preHookMembers = ArrayMap()
+ private var preHookMembers = ArrayMap()
/**
* 更新当前 [YukiMemberHookCreator] 禁止执行 Hook 操作的条件
* @param reason 当前条件
*/
- @PublishedApi
- internal fun updateDisableCreatorRunHookReasons(reason: Boolean) {
+ private fun updateDisableCreatorRunHookReasons(reason: Boolean) {
disableCreatorRunHookReasons.add(reason)
conditions {
disableCreatorRunHookReasons.forEach { and(it) }
@@ -162,7 +157,6 @@ class YukiMemberHookCreator @PublishedApi internal constructor(
* Hook 执行入口
* @return [Result]
*/
- @PublishedApi
internal fun hook() = when {
HookApiCategoryHelper.hasAvailableHookApi.not() -> Result()
/** 过滤 [HookEntryType.ZYGOTE] and [HookEntryType.PACKAGE] or [HookParam.isCallbackCalled] 已被执行 */
@@ -241,7 +235,7 @@ class YukiMemberHookCreator @PublishedApi internal constructor(
* @param priority Hook 优先级
* @param tag 当前设置的标签
*/
- inner class MemberHookCreator @PublishedApi internal constructor(private val priority: Int, internal val tag: String) {
+ inner class MemberHookCreator internal constructor(private val priority: Int, internal val tag: String) {
/** Hook 结果实例 */
private var result: Result? = null
@@ -292,16 +286,13 @@ class YukiMemberHookCreator @PublishedApi internal constructor(
private var isReplaceHookMode = false
/** 是否对当前 [MemberHookCreator] 禁止执行 Hook 操作 */
- @PublishedApi
- internal var isDisableMemberRunHook = false
+ private var isDisableMemberRunHook = false
/** 查找过程中发生的异常 */
- @PublishedApi
- internal var findingThrowable: Throwable? = null
+ private var findingThrowable: Throwable? = null
/** 标识是否已经设置了要 Hook 的 [members] */
- @PublishedApi
- internal var isHookMemberSetup = false
+ private var isHookMemberSetup = false
/** 当前被 Hook 的 [Method]、[Constructor] 实例数组 */
private val hookedMembers = HashSet()
@@ -550,11 +541,9 @@ class YukiMemberHookCreator @PublishedApi internal constructor(
* Hook 创建入口
* @return [Result]
*/
- @PublishedApi
internal fun build() = Result().apply { result = this }
/** Hook 执行入口 */
- @PublishedApi
internal fun hook() {
if (HookApiCategoryHelper.hasAvailableHookApi.not() || isHooked || isDisableMemberRunHook) return
isHooked = true
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/YukiResourcesHookCreator.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/YukiResourcesHookCreator.kt
index d35dcb7c..2a9df3b5 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/YukiResourcesHookCreator.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/YukiResourcesHookCreator.kt
@@ -25,7 +25,7 @@
*
* This file is created by fankes on 2022/5/1.
*/
-@file:Suppress("unused", "MemberVisibilityCanBePrivate")
+@file:Suppress("unused", "MemberVisibilityCanBePrivate", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.core
@@ -47,14 +47,10 @@ import com.highcapable.yukihookapi.hook.xposed.bridge.type.HookEntryType
* @param packageParam 需要传入 [PackageParam] 实现方法调用
* @param hookResources 要 Hook 的 [HookResources] 实例
*/
-class YukiResourcesHookCreator @PublishedApi internal constructor(
- @PublishedApi internal val packageParam: PackageParam,
- @PublishedApi internal val hookResources: HookResources
-) {
+class YukiResourcesHookCreator internal constructor(internal val packageParam: PackageParam, internal val hookResources: HookResources) {
/** 设置要 Hook 的 Resources */
- @PublishedApi
- internal var preHookResources = ArrayMap()
+ private var preHookResources = ArrayMap()
/**
* 注入要 Hook 的 Resources
@@ -66,7 +62,6 @@ class YukiResourcesHookCreator @PublishedApi internal constructor(
ResourcesHookCreator(tag).apply(initiate).apply { preHookResources[toString()] = this }.build()
/** Hook 执行入口 */
- @PublishedApi
internal fun hook() {
if (HookApiCategoryHelper.hasAvailableHookApi.not()) return
/** 过滤 [HookEntryType.ZYGOTE] 与 [HookEntryType.RESOURCES] */
@@ -81,7 +76,7 @@ class YukiResourcesHookCreator @PublishedApi internal constructor(
* 查找和处理需要 Hook 的 Resources
* @param tag 当前设置的标签
*/
- inner class ResourcesHookCreator @PublishedApi internal constructor(private val tag: String) {
+ inner class ResourcesHookCreator internal constructor(private val tag: String) {
/** 是否已经执行 Hook */
private var isHooked = false
@@ -93,12 +88,10 @@ class YukiResourcesHookCreator @PublishedApi internal constructor(
private inner class ModuleResFwd(var resId: Int)
/** 是否对当前 [ResourcesHookCreator] 禁止执行 Hook 操作 */
- @PublishedApi
- internal var isDisableCreatorRunHook = false
+ private var isDisableCreatorRunHook = false
/** 当前的查找条件 */
- @PublishedApi
- internal var conditions: ConditionFinder? = null
+ private var conditions: ConditionFinder? = null
/** Hook 出现错误回调 */
private var onHookFailureCallback: ((Throwable) -> Unit)? = null
@@ -173,11 +166,9 @@ class YukiResourcesHookCreator @PublishedApi internal constructor(
* Hook 创建入口
* @return [Result]
*/
- @PublishedApi
internal fun build() = Result()
/** Hook 执行入口 */
- @PublishedApi
internal fun hook() {
if (isHooked) return
isHooked = true
@@ -243,7 +234,7 @@ class YukiResourcesHookCreator @PublishedApi internal constructor(
/**
* Resources 查找条件实现类
*/
- inner class ConditionFinder @PublishedApi internal constructor() {
+ inner class ConditionFinder internal constructor() {
/** Resources 类型 */
internal var type = ""
@@ -321,7 +312,6 @@ class YukiResourcesHookCreator @PublishedApi internal constructor(
* @return [ConditionFinder]
* @throws IllegalStateException 如果没有设置 [name] or [type]
*/
- @PublishedApi
internal fun build(): ConditionFinder {
when {
name.isBlank() -> error("Resources Hook condition name cannot be empty [$tag]")
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/BaseFinder.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/BaseFinder.kt
index 59155143..e7977a14 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/BaseFinder.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/BaseFinder.kt
@@ -27,7 +27,6 @@
*/
package com.highcapable.yukihookapi.hook.core.finder.base
-import com.highcapable.yukihookapi.annotation.YukiPrivateApi
import com.highcapable.yukihookapi.hook.bean.VariousClass
import com.highcapable.yukihookapi.hook.core.finder.base.data.BaseRulesData
import com.highcapable.yukihookapi.hook.factory.toClass
@@ -41,20 +40,18 @@ import kotlin.math.abs
abstract class BaseFinder {
/** 当前查找条件规则数据 */
- @PublishedApi
internal abstract val rulesData: BaseRulesData
/**
* 字节码、数组下标筛选数据类型
*/
- @PublishedApi
internal enum class IndexConfigType { ORDER, MATCH }
/**
* 字节码、数组下标筛选实现类
* @param type 类型
*/
- inner class IndexTypeCondition @PublishedApi internal constructor(private val type: IndexConfigType) {
+ inner class IndexTypeCondition internal constructor(private val type: IndexConfigType) {
/**
* 设置下标
@@ -123,8 +120,7 @@ abstract class BaseFinder {
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
* @return [BaseResult]
*/
- @YukiPrivateApi
- abstract fun build(): BaseResult
+ internal abstract fun build(): BaseResult
/**
* 返回只有异常的结果实现类
@@ -133,14 +129,12 @@ abstract class BaseFinder {
* @param throwable 异常
* @return [BaseResult]
*/
- @YukiPrivateApi
- abstract fun failure(throwable: Throwable?): BaseResult
+ internal abstract fun failure(throwable: Throwable?): BaseResult
/**
* 查找结果实现、处理类接口
*
* - ❗此功能交由方法体自动完成 - 你不应该手动继承此接口
*/
- @YukiPrivateApi
- interface BaseResult
+ internal interface BaseResult
}
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/ClassBaseFinder.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/ClassBaseFinder.kt
index be4e8624..1719766e 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/ClassBaseFinder.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/ClassBaseFinder.kt
@@ -28,7 +28,6 @@
package com.highcapable.yukihookapi.hook.core.finder.base
import com.highcapable.yukihookapi.YukiHookAPI
-import com.highcapable.yukihookapi.annotation.YukiPrivateApi
import com.highcapable.yukihookapi.hook.core.api.compat.HookApiCategoryHelper
import com.highcapable.yukihookapi.hook.log.yLoggerD
import com.highcapable.yukihookapi.hook.log.yLoggerE
@@ -78,6 +77,5 @@ abstract class ClassBaseFinder internal constructor(internal open val loaderSet:
yLoggerE(msg = "NoClassDefFound happend in [$loaderSet]", e = e)
}
- @YukiPrivateApi
override fun failure(throwable: Throwable?) = error("DexClassFinder does not contain this usage")
}
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/MemberBaseFinder.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/MemberBaseFinder.kt
index 162c337d..1c3f13a0 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/MemberBaseFinder.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/MemberBaseFinder.kt
@@ -28,7 +28,6 @@
package com.highcapable.yukihookapi.hook.core.finder.base
import com.highcapable.yukihookapi.YukiHookAPI
-import com.highcapable.yukihookapi.annotation.YukiPrivateApi
import com.highcapable.yukihookapi.hook.core.YukiMemberHookCreator
import com.highcapable.yukihookapi.hook.core.api.compat.HookApiCategoryHelper
import com.highcapable.yukihookapi.hook.log.yLoggerD
@@ -44,10 +43,7 @@ import java.lang.reflect.Method
* @param tag 当前查找类的标识
* @param classSet 当前需要查找的 [Class] 实例
*/
-abstract class MemberBaseFinder internal constructor(
- private val tag: String,
- @PublishedApi internal open val classSet: Class<*>? = null
-) : BaseFinder() {
+abstract class MemberBaseFinder internal constructor(private val tag: String, internal open val classSet: Class<*>? = null) : BaseFinder() {
internal companion object {
@@ -56,11 +52,9 @@ abstract class MemberBaseFinder internal constructor(
}
/** 当前 [MemberHookerManager] */
- @PublishedApi
internal var hookerManager = MemberHookerManager()
/** 是否使用了重查找功能 */
- @PublishedApi
internal var isUsingRemedyPlan = false
/** 是否开启忽略错误警告功能 */
@@ -129,8 +123,7 @@ abstract class MemberBaseFinder internal constructor(
* - ❗此功能交由方法体自动完成 - 你不应该手动调用此方法
* @return [BaseFinder.BaseResult]
*/
- @YukiPrivateApi
- abstract fun process(): BaseResult
+ internal abstract fun process(): BaseResult
/**
* 返回只有异常的结果处理类并作用于目标 [YukiMemberHookCreator.MemberHookCreator]
@@ -139,8 +132,7 @@ abstract class MemberBaseFinder internal constructor(
* @param throwable 异常
* @return [BaseFinder.BaseResult]
*/
- @YukiPrivateApi
- abstract fun denied(throwable: Throwable?): BaseResult
+ internal abstract fun denied(throwable: Throwable?): BaseResult
/**
* 当前 Hooker 管理实现类
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/data/BaseRulesData.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/data/BaseRulesData.kt
index 1bd95877..502ffc7d 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/data/BaseRulesData.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/data/BaseRulesData.kt
@@ -44,7 +44,6 @@ import java.lang.reflect.Method
* @param orderIndex 字节码、数组顺序下标
* @param matchIndex 字节码、数组筛选下标
*/
-@PublishedApi
internal abstract class BaseRulesData internal constructor(
var modifiers: ModifierConditions? = null,
var orderIndex: Pair? = null,
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/CountRules.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/CountRules.kt
index 057c3bb6..b45184da 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/CountRules.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/CountRules.kt
@@ -39,7 +39,6 @@ import java.lang.reflect.Member
*/
class CountRules private constructor(private val instance: Int) {
- @PublishedApi
internal companion object {
/**
@@ -47,7 +46,6 @@ class CountRules private constructor(private val instance: Int) {
* @param instance 实例对象
* @return [CountRules]
*/
- @PublishedApi
internal fun with(instance: Int) = CountRules(instance)
}
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/ModifierRules.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/ModifierRules.kt
index ff4adcf2..57f0d5a3 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/ModifierRules.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/ModifierRules.kt
@@ -44,7 +44,6 @@ import java.lang.reflect.Modifier
*/
class ModifierRules private constructor(private val instance: Any) {
- @PublishedApi
internal companion object {
/** 当前实例数组 */
@@ -63,7 +62,6 @@ class ModifierRules private constructor(private val instance: Any) {
* @param value 唯一标识值 - 默认 0
* @return [ModifierRules]
*/
- @PublishedApi
internal fun with(instance: Any, value: Long = 0) = ModifierRules(instance).apply { instances[value] = this }
}
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/NameRules.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/NameRules.kt
index 496174dc..37c116a7 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/NameRules.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/NameRules.kt
@@ -40,7 +40,6 @@ import java.lang.reflect.Member
*/
class NameRules private constructor(private val instance: String) {
- @PublishedApi
internal companion object {
/**
@@ -48,7 +47,6 @@ class NameRules private constructor(private val instance: String) {
* @param instance 实例对象
* @return [NameRules]
*/
- @PublishedApi
internal fun with(instance: String) = NameRules(instance)
}
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/ObjectRules.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/ObjectRules.kt
index 165ec84a..710cf394 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/ObjectRules.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/base/rules/ObjectRules.kt
@@ -39,7 +39,6 @@ import java.lang.reflect.Member
*/
class ObjectRules private constructor(private val instance: Any) {
- @PublishedApi
internal companion object {
/**
@@ -47,7 +46,6 @@ class ObjectRules private constructor(private val instance: Any) {
* @param instance 实例对象
* @return [ObjectRules]
*/
- @PublishedApi
internal fun with(instance: Any) = ObjectRules(instance)
}
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/DexClassFinder.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/DexClassFinder.kt
index ba2f49a6..ee85640d 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/DexClassFinder.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/DexClassFinder.kt
@@ -25,7 +25,7 @@
*
* This file is created by fankes on 2022/9/4.
*/
-@file:Suppress("unused", "MemberVisibilityCanBePrivate")
+@file:Suppress("unused", "MemberVisibilityCanBePrivate", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.core.finder.classes
@@ -34,7 +34,6 @@ import android.content.SharedPreferences
import android.content.pm.PackageManager
import android.os.SystemClock
import androidx.core.content.pm.PackageInfoCompat
-import com.highcapable.yukihookapi.annotation.YukiPrivateApi
import com.highcapable.yukihookapi.hook.core.finder.base.ClassBaseFinder
import com.highcapable.yukihookapi.hook.core.finder.classes.data.ClassRulesData
import com.highcapable.yukihookapi.hook.core.finder.classes.rules.ConstructorRules
@@ -70,7 +69,7 @@ import java.lang.reflect.Method
* @param async 是否启用异步
* @param loaderSet 当前使用的 [ClassLoader] 实例
*/
-class DexClassFinder @PublishedApi internal constructor(
+class DexClassFinder internal constructor(
internal var name: String,
internal var async: Boolean,
override val loaderSet: ClassLoader?
@@ -114,7 +113,6 @@ class DexClassFinder @PublishedApi internal constructor(
}
}
- @PublishedApi
override var rulesData = ClassRulesData()
/**
@@ -477,7 +475,6 @@ class DexClassFinder @PublishedApi internal constructor(
classes.takeIf { it.isNotEmpty() }?.forEach { classInstances.add(it) }
}
- @YukiPrivateApi
override fun build() = runCatching {
if (loaderSet != null) {
/** 开始任务 */
@@ -510,8 +507,8 @@ class DexClassFinder @PublishedApi internal constructor(
* @param throwable 错误信息
*/
inner class Result internal constructor(
- @PublishedApi internal var isNotFound: Boolean = false,
- @PublishedApi internal var throwable: Throwable? = null
+ internal var isNotFound: Boolean = false,
+ internal var throwable: Throwable? = null
) : BaseResult {
/** 异步方法体回调结果 */
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/data/ClassRulesData.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/data/ClassRulesData.kt
index 8a40856a..722cf7f5 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/data/ClassRulesData.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/data/ClassRulesData.kt
@@ -61,7 +61,6 @@ import java.lang.reflect.Method
* @param methodRules [Method] 查找条件数据数组
* @param constroctorRules [Constructor] 查找条件数据数组
*/
-@PublishedApi
internal class ClassRulesData internal constructor(
var fromPackages: ArrayList = arrayListOf(),
var fullName: NameRulesData? = null,
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.kt
index b85da150..dae87d2b 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/ConstructorRules.kt
@@ -44,7 +44,7 @@ import java.lang.reflect.Constructor
* [Constructor] 查找条件实现类
* @param rulesData 当前查找条件规则数据
*/
-class ConstructorRules internal constructor(@PublishedApi internal val rulesData: ConstructorRulesData) : BaseRules() {
+class ConstructorRules internal constructor(private val rulesData: ConstructorRulesData) : BaseRules() {
/**
* 设置 [Constructor] 参数个数
@@ -159,6 +159,5 @@ class ConstructorRules internal constructor(@PublishedApi internal val rulesData
* 返回结果实现类
* @return [MemberRulesResult]
*/
- @PublishedApi
internal fun build() = MemberRulesResult(rulesData)
}
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.kt
index fdcaf0a0..bb32913b 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/FieldRules.kt
@@ -40,7 +40,7 @@ import java.lang.reflect.Field
* [Field] 查找条件实现类
* @param rulesData 当前查找条件规则数据
*/
-class FieldRules internal constructor(@PublishedApi internal val rulesData: FieldRulesData) : BaseRules() {
+class FieldRules internal constructor(private val rulesData: FieldRulesData) : BaseRules() {
/**
* 设置 [Field] 名称
@@ -104,6 +104,5 @@ class FieldRules internal constructor(@PublishedApi internal val rulesData: Fiel
* 返回结果实现类
* @return [MemberRulesResult]
*/
- @PublishedApi
internal fun build() = MemberRulesResult(rulesData)
}
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.kt
index 97721309..06ae1db2 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MemberRules.kt
@@ -37,7 +37,7 @@ import java.lang.reflect.Member
* [Member] 查找条件实现类
* @param rulesData 当前查找条件规则数据
*/
-class MemberRules internal constructor(@PublishedApi internal val rulesData: MemberRulesData) : BaseRules() {
+class MemberRules internal constructor(private val rulesData: MemberRulesData) : BaseRules() {
/**
* 设置 [Member] 标识符筛选条件
@@ -53,6 +53,5 @@ class MemberRules internal constructor(@PublishedApi internal val rulesData: Mem
* 返回结果实现类
* @return [MemberRulesResult]
*/
- @PublishedApi
internal fun build() = MemberRulesResult(rulesData)
}
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.kt
index 4c311303..9cd25cb0 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/MethodRules.kt
@@ -33,7 +33,11 @@ import com.highcapable.yukihookapi.hook.bean.VariousClass
import com.highcapable.yukihookapi.hook.core.finder.classes.rules.base.BaseRules
import com.highcapable.yukihookapi.hook.core.finder.classes.rules.result.MemberRulesResult
import com.highcapable.yukihookapi.hook.core.finder.members.data.MethodRulesData
-import com.highcapable.yukihookapi.hook.core.finder.type.factory.*
+import com.highcapable.yukihookapi.hook.core.finder.type.factory.CountConditions
+import com.highcapable.yukihookapi.hook.core.finder.type.factory.ModifierConditions
+import com.highcapable.yukihookapi.hook.core.finder.type.factory.NameConditions
+import com.highcapable.yukihookapi.hook.core.finder.type.factory.ObjectConditions
+import com.highcapable.yukihookapi.hook.core.finder.type.factory.ObjectsConditions
import com.highcapable.yukihookapi.hook.type.defined.UndefinedType
import com.highcapable.yukihookapi.hook.type.defined.VagueType
import java.lang.reflect.Method
@@ -42,7 +46,7 @@ import java.lang.reflect.Method
* [Method] 查找条件实现类
* @param rulesData 当前查找条件规则数据
*/
-class MethodRules internal constructor(@PublishedApi internal val rulesData: MethodRulesData) : BaseRules() {
+class MethodRules internal constructor(private val rulesData: MethodRulesData) : BaseRules() {
/**
* 设置 [Method] 名称
@@ -205,6 +209,5 @@ class MethodRules internal constructor(@PublishedApi internal val rulesData: Met
* 返回结果实现类
* @return [MemberRulesResult]
*/
- @PublishedApi
internal fun build() = MemberRulesResult(rulesData)
}
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/base/BaseRules.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/base/BaseRules.kt
index 6c897bfa..fff1b96b 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/base/BaseRules.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/classes/rules/base/BaseRules.kt
@@ -44,7 +44,6 @@ import java.lang.reflect.Member
*/
open class BaseRules internal constructor(internal var instance: DexClassFinder? = null) {
- @PublishedApi
internal companion object {
/**
@@ -52,7 +51,6 @@ open class BaseRules internal constructor(internal var instance: DexClassFinder?
* @param instance 当前查找类实例
* @return [MemberRulesData]
*/
- @PublishedApi
internal fun createMemberRules(instance: DexClassFinder) =
MemberRules(MemberRulesData().apply { instance.rulesData.memberRules.add(this) }).apply { this.instance = instance }
@@ -60,7 +58,6 @@ open class BaseRules internal constructor(internal var instance: DexClassFinder?
* 创建查找条件规则数据
* @return [FieldRulesData]
*/
- @PublishedApi
internal fun createFieldRules(instance: DexClassFinder) =
FieldRules(FieldRulesData().apply { instance.rulesData.fieldRules.add(this) }).apply { this.instance = instance }
@@ -68,7 +65,6 @@ open class BaseRules internal constructor(internal var instance: DexClassFinder?
* 创建查找条件规则数据
* @return [MethodRulesData]
*/
- @PublishedApi
internal fun createMethodRules(instance: DexClassFinder) =
MethodRules(MethodRulesData().apply { instance.rulesData.methodRules.add(this) }).apply { this.instance = instance }
@@ -76,7 +72,6 @@ open class BaseRules internal constructor(internal var instance: DexClassFinder?
* 创建查找条件规则数据
* @return [ConstructorRulesData]
*/
- @PublishedApi
internal fun createConstructorRules(instance: DexClassFinder) =
ConstructorRules(ConstructorRulesData().apply { instance.rulesData.constroctorRules.add(this) }).apply { this.instance = instance }
}
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder.kt
index 360b3410..06efe3df 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder.kt
@@ -25,11 +25,10 @@
*
* This file is created by fankes on 2022/2/4.
*/
-@file:Suppress("unused", "MemberVisibilityCanBePrivate", "UNCHECKED_CAST", "KotlinConstantConditions")
+@file:Suppress("unused", "MemberVisibilityCanBePrivate", "UNCHECKED_CAST", "KotlinConstantConditions", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.core.finder.members
-import com.highcapable.yukihookapi.annotation.YukiPrivateApi
import com.highcapable.yukihookapi.hook.bean.VariousClass
import com.highcapable.yukihookapi.hook.core.YukiMemberHookCreator
import com.highcapable.yukihookapi.hook.core.finder.base.BaseFinder
@@ -55,10 +54,8 @@ import java.lang.reflect.Member
* 可通过指定类型查找指定 [Constructor] 或一组 [Constructor]
* @param classSet 当前需要查找的 [Class] 实例
*/
-class ConstructorFinder @PublishedApi internal constructor(@PublishedApi override val classSet: Class<*>? = null) :
- MemberBaseFinder(tag = "Constructor", classSet) {
+class ConstructorFinder internal constructor(override val classSet: Class<*>? = null) : MemberBaseFinder(tag = "Constructor", classSet) {
- @PublishedApi
internal companion object {
/**
@@ -67,12 +64,10 @@ class ConstructorFinder @PublishedApi internal constructor(@PublishedApi overrid
* @param classSet 当前需要查找的 [Class] 实例
* @return [ConstructorFinder]
*/
- @PublishedApi
internal fun fromHooker(hookInstance: YukiMemberHookCreator.MemberHookCreator, classSet: Class<*>? = null) =
ConstructorFinder(classSet).apply { hookerManager.instance = hookInstance }
}
- @PublishedApi
override var rulesData = ConstructorRulesData()
/** 当前使用的 [classSet] */
@@ -269,7 +264,6 @@ class ConstructorFinder @PublishedApi internal constructor(@PublishedApi overrid
}
}
- @YukiPrivateApi
override fun build() = runCatching {
internalBuild()
Result()
@@ -278,7 +272,6 @@ class ConstructorFinder @PublishedApi internal constructor(@PublishedApi overrid
Result(isNoSuch = true, it)
}
- @YukiPrivateApi
override fun process() = runCatching {
hookerManager.isMemberBinded = true
internalBuild()
@@ -288,10 +281,8 @@ class ConstructorFinder @PublishedApi internal constructor(@PublishedApi overrid
Process(isNoSuch = true, it)
}
- @YukiPrivateApi
override fun failure(throwable: Throwable?) = Result(isNoSuch = true, throwable)
- @YukiPrivateApi
override fun denied(throwable: Throwable?) = Process(isNoSuch = true, throwable)
/**
@@ -299,11 +290,10 @@ class ConstructorFinder @PublishedApi internal constructor(@PublishedApi overrid
*
* 可累计失败次数直到查找成功
*/
- inner class RemedyPlan @PublishedApi internal constructor() {
+ inner class RemedyPlan internal constructor() {
/** 失败尝试次数数组 */
- @PublishedApi
- internal val remedyPlans = HashSet>()
+ private val remedyPlans = HashSet>()
/**
* 创建需要重新查找的 [Constructor]
@@ -320,7 +310,6 @@ class ConstructorFinder @PublishedApi internal constructor(@PublishedApi overrid
}
/** 开始重查找 */
- @PublishedApi
internal fun build() {
if (classSet == null) return
if (remedyPlans.isNotEmpty()) {
@@ -352,7 +341,7 @@ class ConstructorFinder @PublishedApi internal constructor(@PublishedApi overrid
*
* 可在这里处理是否成功的回调
*/
- inner class Result @PublishedApi internal constructor() {
+ inner class Result internal constructor() {
/** 找到结果时的回调 */
internal var onFindCallback: (HashSet>.() -> Unit)? = null
@@ -373,8 +362,8 @@ class ConstructorFinder @PublishedApi internal constructor(@PublishedApi overrid
* @param throwable 错误信息
*/
inner class Process internal constructor(
- @PublishedApi internal val isNoSuch: Boolean = false,
- @PublishedApi internal val throwable: Throwable? = null
+ internal val isNoSuch: Boolean = false,
+ internal val throwable: Throwable? = null
) : BaseResult {
/**
@@ -432,8 +421,8 @@ class ConstructorFinder @PublishedApi internal constructor(@PublishedApi overrid
* @param throwable 错误信息
*/
inner class Result internal constructor(
- @PublishedApi internal val isNoSuch: Boolean = false,
- @PublishedApi internal val throwable: Throwable? = null
+ internal val isNoSuch: Boolean = false,
+ internal val throwable: Throwable? = null
) : BaseResult {
/**
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.kt
index 122dbc2b..e3d0602c 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder.kt
@@ -25,11 +25,10 @@
*
* This file is created by fankes on 2022/2/4.
*/
-@file:Suppress("unused", "UNCHECKED_CAST", "MemberVisibilityCanBePrivate", "KotlinConstantConditions")
+@file:Suppress("unused", "UNCHECKED_CAST", "MemberVisibilityCanBePrivate", "KotlinConstantConditions", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.core.finder.members
-import com.highcapable.yukihookapi.annotation.YukiPrivateApi
import com.highcapable.yukihookapi.hook.bean.CurrentClass
import com.highcapable.yukihookapi.hook.bean.VariousClass
import com.highcapable.yukihookapi.hook.core.YukiMemberHookCreator
@@ -53,10 +52,8 @@ import java.lang.reflect.Field
* 可通过指定类型查找指定 [Field] 或一组 [Field]
* @param classSet 当前需要查找的 [Class] 实例
*/
-class FieldFinder @PublishedApi internal constructor(@PublishedApi override val classSet: Class<*>? = null) :
- MemberBaseFinder(tag = "Field", classSet) {
+class FieldFinder internal constructor(override val classSet: Class<*>? = null) : MemberBaseFinder(tag = "Field", classSet) {
- @PublishedApi
internal companion object {
/**
@@ -65,12 +62,10 @@ class FieldFinder @PublishedApi internal constructor(@PublishedApi override val
* @param classSet 当前需要查找的 [Class] 实例
* @return [FieldFinder]
*/
- @PublishedApi
internal fun fromHooker(hookInstance: YukiMemberHookCreator.MemberHookCreator, classSet: Class<*>? = null) =
FieldFinder(classSet).apply { hookerManager.instance = hookInstance }
}
- @PublishedApi
override var rulesData = FieldRulesData()
/** 当前使用的 [classSet] */
@@ -224,7 +219,6 @@ class FieldFinder @PublishedApi internal constructor(@PublishedApi override val
}
}
- @YukiPrivateApi
override fun build() = runCatching {
internalBuild()
Result()
@@ -233,13 +227,10 @@ class FieldFinder @PublishedApi internal constructor(@PublishedApi override val
Result(isNoSuch = true, it)
}
- @YukiPrivateApi
override fun process() = error("FieldFinder does not contain this usage")
- @YukiPrivateApi
override fun failure(throwable: Throwable?) = Result(isNoSuch = true, throwable)
- @YukiPrivateApi
override fun denied(throwable: Throwable?) = error("FieldFinder does not contain this usage")
/**
@@ -247,11 +238,10 @@ class FieldFinder @PublishedApi internal constructor(@PublishedApi override val
*
* 可累计失败次数直到查找成功
*/
- inner class RemedyPlan @PublishedApi internal constructor() {
+ inner class RemedyPlan internal constructor() {
/** 失败尝试次数数组 */
- @PublishedApi
- internal val remedyPlans = HashSet>()
+ private val remedyPlans = HashSet>()
/**
* 创建需要重新查找的 [Field]
@@ -269,7 +259,6 @@ class FieldFinder @PublishedApi internal constructor(@PublishedApi override val
}
/** 开始重查找 */
- @PublishedApi
internal fun build() {
if (classSet == null) return
if (remedyPlans.isNotEmpty()) {
@@ -301,7 +290,7 @@ class FieldFinder @PublishedApi internal constructor(@PublishedApi override val
*
* 可在这里处理是否成功的回调
*/
- inner class Result @PublishedApi internal constructor() {
+ inner class Result internal constructor() {
/** 找到结果时的回调 */
internal var onFindCallback: (HashSet.() -> Unit)? = null
@@ -323,8 +312,8 @@ class FieldFinder @PublishedApi internal constructor(@PublishedApi override val
* @param throwable 错误信息
*/
inner class Result internal constructor(
- @PublishedApi internal val isNoSuch: Boolean = false,
- private val throwable: Throwable? = null
+ internal val isNoSuch: Boolean = false,
+ internal val throwable: Throwable? = null
) : BaseResult {
/**
@@ -485,9 +474,7 @@ class FieldFinder @PublishedApi internal constructor(@PublishedApi override val
* - 若要直接获取不确定的实例对象 - 请调用 [any] 方法
* @return [Any] or null
*/
- @PublishedApi
- internal val self
- get() = field?.get(instance)
+ private val self get() = field?.get(instance)
/**
* 获得当前 [Field] 自身 [self] 实例的类操作对象
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder.kt
index d3680ad6..78dd93ec 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder.kt
@@ -25,11 +25,10 @@
*
* This file is created by fankes on 2022/2/4.
*/
-@file:Suppress("unused", "MemberVisibilityCanBePrivate", "UNCHECKED_CAST", "KotlinConstantConditions", "UNCHECKED_CAST")
+@file:Suppress("unused", "MemberVisibilityCanBePrivate", "UNCHECKED_CAST", "KotlinConstantConditions", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.core.finder.members
-import com.highcapable.yukihookapi.annotation.YukiPrivateApi
import com.highcapable.yukihookapi.hook.bean.VariousClass
import com.highcapable.yukihookapi.hook.core.YukiMemberHookCreator
import com.highcapable.yukihookapi.hook.core.api.helper.YukiHookHelper
@@ -58,10 +57,8 @@ import java.lang.reflect.Method
* 可通过指定类型查找指定 [Method] 或一组 [Method]
* @param classSet 当前需要查找的 [Class] 实例
*/
-class MethodFinder @PublishedApi internal constructor(@PublishedApi override val classSet: Class<*>? = null) :
- MemberBaseFinder(tag = "Method", classSet) {
+class MethodFinder internal constructor(override val classSet: Class<*>? = null) : MemberBaseFinder(tag = "Method", classSet) {
- @PublishedApi
internal companion object {
/**
@@ -70,12 +67,10 @@ class MethodFinder @PublishedApi internal constructor(@PublishedApi override val
* @param classSet 当前需要查找的 [Class] 实例
* @return [MethodFinder]
*/
- @PublishedApi
internal fun fromHooker(hookInstance: YukiMemberHookCreator.MemberHookCreator, classSet: Class<*>? = null) =
MethodFinder(classSet).apply { hookerManager.instance = hookInstance }
}
- @PublishedApi
override var rulesData = MethodRulesData()
/** 当前使用的 [classSet] */
@@ -362,7 +357,6 @@ class MethodFinder @PublishedApi internal constructor(@PublishedApi override val
}
}
- @YukiPrivateApi
override fun build() = runCatching {
internalBuild()
Result()
@@ -371,7 +365,6 @@ class MethodFinder @PublishedApi internal constructor(@PublishedApi override val
Result(isNoSuch = true, it)
}
- @YukiPrivateApi
override fun process() = runCatching {
hookerManager.isMemberBinded = true
internalBuild()
@@ -381,10 +374,8 @@ class MethodFinder @PublishedApi internal constructor(@PublishedApi override val
Process(isNoSuch = true, it)
}
- @YukiPrivateApi
override fun failure(throwable: Throwable?) = Result(isNoSuch = true, throwable)
- @YukiPrivateApi
override fun denied(throwable: Throwable?) = Process(isNoSuch = true, throwable)
/**
@@ -392,11 +383,10 @@ class MethodFinder @PublishedApi internal constructor(@PublishedApi override val
*
* 可累计失败次数直到查找成功
*/
- inner class RemedyPlan @PublishedApi internal constructor() {
+ inner class RemedyPlan internal constructor() {
/** 失败尝试次数数组 */
- @PublishedApi
- internal val remedyPlans = HashSet>()
+ private val remedyPlans = HashSet>()
/**
* 创建需要重新查找的 [Method]
@@ -414,7 +404,6 @@ class MethodFinder @PublishedApi internal constructor(@PublishedApi override val
}
/** 开始重查找 */
- @PublishedApi
internal fun build() {
if (classSet == null) return
if (remedyPlans.isNotEmpty()) {
@@ -446,7 +435,7 @@ class MethodFinder @PublishedApi internal constructor(@PublishedApi override val
*
* 可在这里处理是否成功的回调
*/
- inner class Result @PublishedApi internal constructor() {
+ inner class Result internal constructor() {
/** 找到结果时的回调 */
internal var onFindCallback: (HashSet.() -> Unit)? = null
@@ -467,8 +456,8 @@ class MethodFinder @PublishedApi internal constructor(@PublishedApi override val
* @param throwable 错误信息
*/
inner class Process internal constructor(
- @PublishedApi internal val isNoSuch: Boolean = false,
- @PublishedApi internal val throwable: Throwable? = null
+ internal val isNoSuch: Boolean = false,
+ internal val throwable: Throwable? = null
) : BaseResult {
/**
@@ -526,8 +515,8 @@ class MethodFinder @PublishedApi internal constructor(@PublishedApi override val
* @param throwable 错误信息
*/
inner class Result internal constructor(
- @PublishedApi internal val isNoSuch: Boolean = false,
- @PublishedApi internal val throwable: Throwable? = null
+ internal val isNoSuch: Boolean = false,
+ internal val throwable: Throwable? = null
) : BaseResult {
/**
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/ConstructorRulesData.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/ConstructorRulesData.kt
index db1124ef..2878880f 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/ConstructorRulesData.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/ConstructorRulesData.kt
@@ -39,7 +39,6 @@ import java.lang.reflect.Constructor
* @param paramCountRange 参数个数范围
* @param paramCountConditions 参数个数条件
*/
-@PublishedApi
internal class ConstructorRulesData internal constructor(
var paramTypes: Array>? = null,
var paramTypesConditions: ObjectsConditions? = null,
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/FieldRulesData.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/FieldRulesData.kt
index e88fd475..7e0bae96 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/FieldRulesData.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/FieldRulesData.kt
@@ -38,7 +38,6 @@ import java.lang.reflect.Field
* @param type 类型
* @param typeConditions 类型条件
*/
-@PublishedApi
internal class FieldRulesData internal constructor(
var name: String = "",
var nameConditions: NameConditions? = null,
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/MemberRulesData.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/MemberRulesData.kt
index 0abc895e..f8c4f7c7 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/MemberRulesData.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/MemberRulesData.kt
@@ -39,7 +39,6 @@ import java.lang.reflect.Member
* @param matchCountRange 匹配的字节码个数范围
* @param matchCountConditions 匹配的字节码个数条件
*/
-@PublishedApi
internal open class MemberRulesData internal constructor(
var isFindInSuper: Boolean = false,
var matchCount: Int = -1,
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/MethodRulesData.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/MethodRulesData.kt
index ef5d9c36..9704c0e1 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/MethodRulesData.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/members/data/MethodRulesData.kt
@@ -45,7 +45,6 @@ import java.lang.reflect.Method
* @param returnType 返回值类型
* @param returnTypeConditions 返回值类型条件
*/
-@PublishedApi
internal class MethodRulesData internal constructor(
var name: String = "",
var nameConditions: NameConditions? = null,
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/tools/ReflectionTool.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/tools/ReflectionTool.kt
index 38d5e72d..c5c04b82 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/tools/ReflectionTool.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/core/finder/tools/ReflectionTool.kt
@@ -58,7 +58,6 @@ import kotlin.math.abs
/**
* 这是一个对 [Class]、[Member] 查找的工具实现类
*/
-@PublishedApi
internal object ReflectionTool {
/** 当前工具类的标签 */
@@ -115,7 +114,6 @@ internal object ReflectionTool {
* @return [Class]
* @throws NoClassDefFoundError 如果找不到 [Class] 或设置了错误的 [ClassLoader]
*/
- @PublishedApi
internal fun findClassByName(name: String, loader: ClassLoader?, initialize: Boolean = false): Class<*> {
val uniqueCode = "[$name][$loader]"
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/factory/ReflectionFactory.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/factory/ReflectionFactory.kt
index 81b9b68f..4323cff6 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/factory/ReflectionFactory.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/factory/ReflectionFactory.kt
@@ -25,7 +25,7 @@
*
* This file is created by fankes on 2022/2/2.
*/
-@file:Suppress("unused", "UNCHECKED_CAST")
+@file:Suppress("unused", "UNCHECKED_CAST", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.factory
@@ -372,7 +372,7 @@ inline fun Class<*>.generic(initiate: GenericClass.() -> Unit) = generic()?.appl
* @return [CurrentClass]
*/
inline fun T.current(ignored: Boolean = false) =
- CurrentClass(javaClass, instance = this).apply { isShutErrorPrinting = ignored }
+ CurrentClass(javaClass, instance = this).apply { isIgnoreErrorLogs = ignored }
/**
* 获得当前实例的类操作对象
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/log/LoggerFactory.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/log/LoggerFactory.kt
index aa937337..55be63b8 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/log/LoggerFactory.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/log/LoggerFactory.kt
@@ -316,7 +316,6 @@ object YukiHookLogger {
}
/** 结束方法体 */
- @PublishedApi
internal fun build() = Unit
}
}
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/param/PackageParam.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/param/PackageParam.kt
index b64817f1..02b03f05 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/param/PackageParam.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/param/PackageParam.kt
@@ -25,7 +25,7 @@
*
* This file is created by fankes on 2022/2/2.
*/
-@file:Suppress("unused", "MemberVisibilityCanBePrivate", "UNCHECKED_CAST")
+@file:Suppress("unused", "MemberVisibilityCanBePrivate", "UNCHECKED_CAST", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.param
@@ -62,19 +62,7 @@ import com.highcapable.yukihookapi.hook.xposed.prefs.YukiHookPrefsBridge
* 装载 Hook 的目标 APP 入口对象实现类
* @param wrapper [PackageParam] 的参数包装类实例 - 默认是空的
*/
-open class PackageParam internal constructor(@PublishedApi internal var wrapper: PackageParamWrapper? = null) {
-
- @PublishedApi
- internal companion object {
-
- /** 获取当前 Xposed 模块包名 */
- @PublishedApi
- internal val modulePackageName get() = YukiXposedModule.modulePackageName
-
- /** Android 系统框架名称 */
- @PublishedApi
- internal const val SYSTEM_FRAMEWORK_NAME = AppParasitics.SYSTEM_FRAMEWORK_NAME
- }
+open class PackageParam internal constructor(internal var wrapper: PackageParamWrapper? = null) {
/** 当前设置的 [ClassLoader] */
private var currentClassLoader: ClassLoader? = null
@@ -304,7 +292,7 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
*/
inline fun loadApp(isExcludeSelf: Boolean = false, initiate: PackageParam.() -> Unit) {
if (wrapper?.type != HookEntryType.ZYGOTE &&
- (isExcludeSelf.not() || isExcludeSelf && packageName != modulePackageName)
+ (isExcludeSelf.not() || isExcludeSelf && packageName != YukiXposedModule.modulePackageName)
) initiate(this)
}
@@ -319,7 +307,7 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
*/
fun loadApp(isExcludeSelf: Boolean = false, hooker: YukiBaseHooker) {
if (wrapper?.type != HookEntryType.ZYGOTE &&
- (isExcludeSelf.not() || isExcludeSelf && packageName != modulePackageName)
+ (isExcludeSelf.not() || isExcludeSelf && packageName != YukiXposedModule.modulePackageName)
) loadHooker(hooker)
}
@@ -335,7 +323,7 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
fun loadApp(isExcludeSelf: Boolean = false, vararg hooker: YukiBaseHooker) {
if (hooker.isEmpty()) error("loadApp method need a \"hooker\" param")
if (wrapper?.type != HookEntryType.ZYGOTE &&
- (isExcludeSelf.not() || isExcludeSelf && packageName != modulePackageName)
+ (isExcludeSelf.not() || isExcludeSelf && packageName != YukiXposedModule.modulePackageName)
) hooker.forEach { loadHooker(it) }
}
@@ -343,13 +331,13 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
* 装载并 Hook 系统框架
* @param initiate 方法体
*/
- inline fun loadSystem(initiate: PackageParam.() -> Unit) = loadApp(SYSTEM_FRAMEWORK_NAME, initiate)
+ inline fun loadSystem(initiate: PackageParam.() -> Unit) = loadApp(AppParasitics.SYSTEM_FRAMEWORK_NAME, initiate)
/**
* 装载并 Hook 系统框架
* @param hooker Hook 子类
*/
- fun loadSystem(hooker: YukiBaseHooker) = loadApp(SYSTEM_FRAMEWORK_NAME, hooker)
+ fun loadSystem(hooker: YukiBaseHooker) = loadApp(AppParasitics.SYSTEM_FRAMEWORK_NAME, hooker)
/**
* 装载并 Hook 系统框架
@@ -357,7 +345,7 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
*/
fun loadSystem(vararg hooker: YukiBaseHooker) {
if (hooker.isEmpty()) error("loadSystem method need a \"hooker\" param")
- loadApp(SYSTEM_FRAMEWORK_NAME, *hooker)
+ loadApp(AppParasitics.SYSTEM_FRAMEWORK_NAME, *hooker)
}
/**
@@ -652,7 +640,6 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
* @param loader 当前 [ClassLoader] - 若留空使用默认 [ClassLoader]
* @return [HookClass]
*/
- @PublishedApi
internal fun VariousClass.toHookClass(loader: ClassLoader? = null) =
runCatching { get(loader).toHookClass() }.getOrElse { HookClass(name = "VariousClass", throwable = Throwable(it.message)) }
@@ -660,7 +647,6 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
* [Class] 转换为 [HookClass]
* @return [HookClass]
*/
- @PublishedApi
internal fun Class<*>.toHookClass() = HookClass(instance = this, name)
/**
@@ -669,7 +655,7 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
* - ❗请使用 [onAppLifecycle] 方法来获取 [AppLifecycle]
* @param isOnFailureThrowToApp 是否在发生异常时将异常抛出给宿主
*/
- inner class AppLifecycle @PublishedApi internal constructor(private val isOnFailureThrowToApp: Boolean) {
+ inner class AppLifecycle internal constructor(private val isOnFailureThrowToApp: Boolean) {
/**
* 是否为当前操作 [HookEntryType.PACKAGE] 的调用域
@@ -747,7 +733,6 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
}
/** 设置创建生命周期监听回调 */
- @PublishedApi
internal fun build() {
AppParasitics.AppLifecycleCallback.isOnFailureThrowToApp = isOnFailureThrowToApp
AppParasitics.AppLifecycleCallback.isCallbackSetUp = true
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/param/wrapper/PackageParamWrapper.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/param/wrapper/PackageParamWrapper.kt
index 07d0950a..9aad27d2 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/param/wrapper/PackageParamWrapper.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/param/wrapper/PackageParamWrapper.kt
@@ -44,7 +44,6 @@ import dalvik.system.PathClassLoader
* @param appInfo APP [ApplicationInfo]
* @param appResources APP [YukiResources]
*/
-@PublishedApi
internal class PackageParamWrapper internal constructor(
var type: HookEntryType,
var packageName: String,
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/caller/YukiXposedModuleCaller.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/caller/YukiXposedModuleCaller.kt
index 863a7b75..5e243768 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/caller/YukiXposedModuleCaller.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/caller/YukiXposedModuleCaller.kt
@@ -30,7 +30,6 @@
package com.highcapable.yukihookapi.hook.xposed.bridge.caller
import android.content.pm.ApplicationInfo
-import com.highcapable.yukihookapi.annotation.YukiGenerateApi
import com.highcapable.yukihookapi.hook.log.yLoggerE
import com.highcapable.yukihookapi.hook.xposed.bridge.YukiXposedModule
import com.highcapable.yukihookapi.hook.xposed.bridge.resources.YukiResources
@@ -41,8 +40,7 @@ import com.highcapable.yukihookapi.hook.xposed.bridge.type.HookEntryType
*
* - ❗装载代码将自动生成 - 请勿手动调用
*/
-@YukiGenerateApi
-object YukiXposedModuleCaller {
+internal object YukiXposedModuleCaller {
/**
* 模块是否装载了 Xposed 回调方法
@@ -50,8 +48,7 @@ object YukiXposedModuleCaller {
* - ❗装载代码将自动生成 - 你不应该手动使用此方法装载 Xposed 模块事件
* @return [Boolean]
*/
- @YukiGenerateApi
- val isXposedCallbackSetUp get() = YukiXposedModule.isXposedCallbackSetUp
+ internal val isXposedCallbackSetUp get() = YukiXposedModule.isXposedCallbackSetUp
/**
* 标识 Xposed 模块开始装载
@@ -60,16 +57,14 @@ object YukiXposedModuleCaller {
* @param packageName 当前 Xposed 模块包名
* @param appFilePath 当前 Xposed 模块自身 APK 路径
*/
- @YukiGenerateApi
- fun callOnStartLoadModule(packageName: String, appFilePath: String) = YukiXposedModule.onStartLoadModule(packageName, appFilePath)
+ internal fun callOnStartLoadModule(packageName: String, appFilePath: String) = YukiXposedModule.onStartLoadModule(packageName, appFilePath)
/**
* 标识 Xposed 模块装载完成
*
* - ❗装载代码将自动生成 - 你不应该手动使用此方法装载 Xposed 模块事件
*/
- @YukiGenerateApi
- fun callOnFinishLoadModule() = YukiXposedModule.onFinishLoadModule()
+ internal fun callOnFinishLoadModule() = YukiXposedModule.onFinishLoadModule()
/**
* 标识可用的 Hook APP (宿主) 开始装载
@@ -82,8 +77,7 @@ object YukiXposedModuleCaller {
* @param appInfo 宿主 [ApplicationInfo]
* @param appResources 宿主 [YukiResources]
*/
- @YukiGenerateApi
- fun callOnPackageLoaded(
+ internal fun callOnPackageLoaded(
type: HookEntryType,
packageName: String?,
processName: String? = "",
@@ -99,6 +93,5 @@ object YukiXposedModuleCaller {
* @param msg 日志打印的内容
* @param e 异常堆栈信息 - 默认空
*/
- @YukiGenerateApi
- fun internalLoggerE(msg: String, e: Throwable? = null) = yLoggerE(msg = msg, e = e)
+ internal fun internalLoggerE(msg: String, e: Throwable? = null) = yLoggerE(msg = msg, e = e)
}
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/event/caller/YukiXposedEventCaller.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/event/caller/YukiXposedEventCaller.kt
index a23d9e89..0da89431 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/event/caller/YukiXposedEventCaller.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/event/caller/YukiXposedEventCaller.kt
@@ -29,7 +29,6 @@
package com.highcapable.yukihookapi.hook.xposed.bridge.event.caller
-import com.highcapable.yukihookapi.annotation.YukiGenerateApi
import com.highcapable.yukihookapi.hook.xposed.bridge.event.YukiXposedEvent
import de.robv.android.xposed.IXposedHookZygoteInit
import de.robv.android.xposed.callbacks.XC_InitPackageResources
@@ -40,8 +39,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage
*
* - ❗装载代码将自动生成 - 请勿手动调用
*/
-@YukiGenerateApi
-object YukiXposedEventCaller {
+internal object YukiXposedEventCaller {
/**
* 回调 initZygote 事件监听
@@ -49,8 +47,7 @@ object YukiXposedEventCaller {
* - ❗装载代码将自动生成 - 你不应该手动使用此方法装载 Xposed 模块事件
* @param sparam Xposed API 实例
*/
- @YukiGenerateApi
- fun callInitZygote(sparam: IXposedHookZygoteInit.StartupParam?) {
+ internal fun callInitZygote(sparam: IXposedHookZygoteInit.StartupParam?) {
if (sparam == null) return
YukiXposedEvent.initZygoteCallback?.invoke(sparam)
}
@@ -61,8 +58,7 @@ object YukiXposedEventCaller {
* - ❗装载代码将自动生成 - 你不应该手动使用此方法装载 Xposed 模块事件
* @param lpparam Xposed API 实例
*/
- @YukiGenerateApi
- fun callHandleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam?) {
+ internal fun callHandleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam?) {
if (lpparam == null) return
YukiXposedEvent.handleLoadPackageCallback?.invoke(lpparam)
}
@@ -73,8 +69,7 @@ object YukiXposedEventCaller {
* - ❗装载代码将自动生成 - 你不应该手动使用此方法装载 Xposed 模块事件
* @param resparam Xposed API 实例
*/
- @YukiGenerateApi
- fun callHandleInitPackageResources(resparam: XC_InitPackageResources.InitPackageResourcesParam?) {
+ internal fun callHandleInitPackageResources(resparam: XC_InitPackageResources.InitPackageResourcesParam?) {
if (resparam == null) return
YukiXposedEvent.handleInitPackageResourcesCallback?.invoke(resparam)
}
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.kt
index 169028ce..7b8c4499 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/resources/YukiResources.kt
@@ -25,7 +25,7 @@
*
* This file is created by fankes on 2022/4/29.
*/
-@file:Suppress("unused", "DEPRECATION", "DiscouragedApi")
+@file:Suppress("unused", "DEPRECATION", "DiscouragedApi", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE")
package com.highcapable.yukihookapi.hook.xposed.bridge.resources
@@ -236,7 +236,7 @@ class YukiResources private constructor(private val baseInstance: XResources) :
* 装载 Hook APP 的目标布局 Resources 实现类
* @param baseParam 对接 [XC_LayoutInflated.LayoutInflatedParam]
*/
- class LayoutInflatedParam(@PublishedApi internal val baseParam: XC_LayoutInflated.LayoutInflatedParam) {
+ class LayoutInflatedParam(private val baseParam: XC_LayoutInflated.LayoutInflatedParam) {
/**
* 获取当前被 Hook 的布局装载目录名称
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/resources/caller/YukiXposedResourcesCaller.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/resources/caller/YukiXposedResourcesCaller.kt
index b283bbc7..ff840057 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/resources/caller/YukiXposedResourcesCaller.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/resources/caller/YukiXposedResourcesCaller.kt
@@ -30,7 +30,6 @@
package com.highcapable.yukihookapi.hook.xposed.bridge.resources.caller
import android.content.res.XResources
-import com.highcapable.yukihookapi.annotation.YukiGenerateApi
import com.highcapable.yukihookapi.hook.xposed.bridge.resources.YukiResources
/**
@@ -38,8 +37,7 @@ import com.highcapable.yukihookapi.hook.xposed.bridge.resources.YukiResources
*
* - ❗装载代码将自动生成 - 请勿手动调用
*/
-@YukiGenerateApi
-object YukiXposedResourcesCaller {
+internal object YukiXposedResourcesCaller {
/**
* 从 [XResources] 创建 [YukiResources]
@@ -48,6 +46,5 @@ object YukiXposedResourcesCaller {
* @param xResources [XResources] 实例
* @return [YukiResources] or null
*/
- @YukiGenerateApi
- fun createYukiResourcesFromXResources(xResources: XResources?) = xResources?.let { YukiResources.wrapper(it) }
+ internal fun createYukiResourcesFromXResources(xResources: XResources?) = xResources?.let { YukiResources.wrapper(it) }
}
\ No newline at end of file
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/type/HookEntryType.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/type/HookEntryType.kt
index ced98ddf..0a864781 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/type/HookEntryType.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/bridge/type/HookEntryType.kt
@@ -28,15 +28,12 @@
*/
package com.highcapable.yukihookapi.hook.xposed.bridge.type
-import com.highcapable.yukihookapi.annotation.YukiGenerateApi
-
/**
* 当前正在进行的 Hook 类型
*
* - ❗装载代码将自动生成 - 请勿手动调用
*/
-@YukiGenerateApi
-enum class HookEntryType {
+internal enum class HookEntryType {
/** 装载 Zygote */
ZYGOTE,
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/delegate/caller/HandlerDelegateCaller.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/delegate/caller/HandlerDelegateCaller.kt
index 5cca0276..1c381ff3 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/delegate/caller/HandlerDelegateCaller.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/delegate/caller/HandlerDelegateCaller.kt
@@ -36,7 +36,6 @@ import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Message
-import com.highcapable.yukihookapi.annotation.YukiGenerateApi
import com.highcapable.yukihookapi.hook.factory.current
import com.highcapable.yukihookapi.hook.factory.field
import com.highcapable.yukihookapi.hook.factory.method
@@ -53,8 +52,7 @@ import com.highcapable.yukihookapi.hook.xposed.parasitic.activity.config.Activit
*
* - ❗装载代码将自动生成 - 请勿手动调用
*/
-@YukiGenerateApi
-object HandlerDelegateCaller {
+internal object HandlerDelegateCaller {
/** 启动 [Activity] */
private const val LAUNCH_ACTIVITY = 100
@@ -70,8 +68,7 @@ object HandlerDelegateCaller {
* @param msg 当前消息实例
* @return [Boolean]
*/
- @YukiGenerateApi
- fun callHandleMessage(baseInstance: Handler.Callback?, msg: Message): Boolean {
+ internal fun callHandleMessage(baseInstance: Handler.Callback?, msg: Message): Boolean {
when (msg.what) {
LAUNCH_ACTIVITY -> runCatching {
msg.obj.current(ignored = true).field { name = "intent" }.apply {
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/delegate/caller/IActivityManagerProxyCaller.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/delegate/caller/IActivityManagerProxyCaller.kt
index e6d35bcd..7d72eded 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/delegate/caller/IActivityManagerProxyCaller.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic/activity/delegate/caller/IActivityManagerProxyCaller.kt
@@ -33,7 +33,6 @@ package com.highcapable.yukihookapi.hook.xposed.parasitic.activity.delegate.call
import android.app.Activity
import android.app.ActivityManager
import android.content.Intent
-import com.highcapable.yukihookapi.annotation.YukiGenerateApi
import com.highcapable.yukihookapi.hook.factory.buildOf
import com.highcapable.yukihookapi.hook.factory.classOf
import com.highcapable.yukihookapi.hook.factory.extends
@@ -51,8 +50,7 @@ import java.lang.reflect.Method
*
* - ❗装载代码将自动生成 - 请勿手动调用
*/
-@YukiGenerateApi
-object IActivityManagerProxyCaller {
+internal object IActivityManagerProxyCaller {
/**
* 获取当前使用的 [ClassLoader]
@@ -60,8 +58,7 @@ object IActivityManagerProxyCaller {
* - ❗装载代码将自动生成 - 请勿手动调用
* @return [ClassLoader]
*/
- @YukiGenerateApi
- val currentClassLoader get() = AppParasitics.baseClassLoader
+ internal val currentClassLoader get() = AppParasitics.baseClassLoader
/**
* 调用代理的 [InvocationHandler.invoke] 方法
@@ -72,8 +69,7 @@ object IActivityManagerProxyCaller {
* @param args 被调用方法参数
* @return [Any] or null
*/
- @YukiGenerateApi
- fun callInvoke(baseInstance: Any, method: Method?, args: Array?): Any? {
+ internal fun callInvoke(baseInstance: Any, method: Method?, args: Array?): Any? {
if (method?.name == "startActivity") args?.indexOfFirst { it is Intent }?.also { index ->
val argsInstance = (args[index] as? Intent) ?: return@also
val component = argsInstance.component
diff --git a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/prefs/YukiHookPrefsBridge.kt b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/prefs/YukiHookPrefsBridge.kt
index 07ebc6d6..4225dde3 100644
--- a/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/prefs/YukiHookPrefsBridge.kt
+++ b/yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/prefs/YukiHookPrefsBridge.kt
@@ -25,7 +25,10 @@
*
* This file is created by fankes on 2022/2/8.
*/
-@file:Suppress("unused", "MemberVisibilityCanBePrivate", "StaticFieldLeak", "SetWorldReadable", "CommitPrefEdits", "UNCHECKED_CAST")
+@file:Suppress(
+ "unused", "MemberVisibilityCanBePrivate", "StaticFieldLeak", "SetWorldReadable",
+ "CommitPrefEdits", "UNCHECKED_CAST", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE"
+)
package com.highcapable.yukihookapi.hook.xposed.prefs
@@ -356,8 +359,7 @@ class YukiHookPrefsBridge private constructor(private var context: Context? = nu
* @param value 默认值
* @return [Any]
*/
- @PublishedApi
- internal fun getPrefsData(key: String, value: Any?): Any = when (value) {
+ private fun getPrefsData(key: String, value: Any?): Any = when (value) {
is String -> getString(key, value)
is Set<*> -> getStringSet(key, value as? Set ?: error("Key-Value type ${value.javaClass.name} is not allowed"))
is Int -> getInt(key, value)
@@ -650,8 +652,7 @@ class YukiHookPrefsBridge private constructor(private var context: Context? = nu
* @param value 要存储的值 - 只能是 [String]、[Set]<[String]>、[Int]、[Float]、[Long]、[Boolean]
* @return [Editor]
*/
- @PublishedApi
- internal fun putPrefsData(key: String, value: Any?) = when (value) {
+ private fun putPrefsData(key: String, value: Any?) = when (value) {
is String -> putString(key, value)
is Set<*> -> putStringSet(key, value as? Set ?: error("Key-Value type ${value.javaClass.name} is not allowed"))
is Int -> putInt(key, value)
diff --git a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi/factory/CodeSourceFileFactory.kt b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi/factory/CodeSourceFileFactory.kt
index 4e16691b..ac2333dd 100644
--- a/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi/factory/CodeSourceFileFactory.kt
+++ b/yukihookapi-ksp-xposed/src/api/kotlin/com/highcapable/yukihookapi/factory/CodeSourceFileFactory.kt
@@ -69,10 +69,6 @@ object ClassName {
* 外部调用者包名和类名定义类
*/
object ExternalCallerName {
- val YukiGenerateApiAnnotation = Pair(
- "com.highcapable.yukihookapi.annotation.YukiGenerateApi",
- "YukiGenerateApi"
- )
val HandlerDelegateCaller = Pair(
"com.highcapable.yukihookapi.hook.xposed.parasitic.activity.delegate.caller.HandlerDelegateCaller",
"HandlerDelegateCaller"
@@ -218,15 +214,13 @@ fun GenerateData.sources() = mapOf(
}
""".trimIndent(),
ClassName.HandlerDelegateImpl_Impl to """
- @file:Suppress("ClassName")
+ @file:Suppress("ClassName", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
package ${PackageName.HandlerDelegateImpl_Impl}
import android.os.Handler
- import ${ExternalCallerName.YukiGenerateApiAnnotation.first}
import ${PackageName.HandlerDelegateClass}.${tailPackageName(ClassName.HandlerDelegateClass)}
""".trimIndent() + "\n\n" + createCommentContent(ClassName.HandlerDelegateImpl_Impl) + "\n" + """
- @${ExternalCallerName.YukiGenerateApiAnnotation.second}
object ${ClassName.HandlerDelegateImpl_Impl} {
val wrapperClassName get() = "${PackageName.HandlerDelegateClass}.${tailPackageName(ClassName.HandlerDelegateClass)}"
@@ -235,70 +229,65 @@ fun GenerateData.sources() = mapOf(
}
""".trimIndent(),
ClassName.HandlerDelegateClass to """
- @file:Suppress("ClassName")
+ @file:Suppress("ClassName", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
package ${PackageName.HandlerDelegateClass}
import android.os.Handler
import android.os.Message
import androidx.annotation.Keep
- import ${ExternalCallerName.YukiGenerateApiAnnotation.first}
import ${ExternalCallerName.HandlerDelegateCaller.first}
""".trimIndent() + "\n\n" + createCommentContent(ClassName.HandlerDelegateClass) + "\n" + """
@Keep
- @${ExternalCallerName.YukiGenerateApiAnnotation.second}
class ${tailPackageName(ClassName.HandlerDelegateClass)}(private val baseInstance: Handler.Callback?) : Handler.Callback {
override fun handleMessage(msg: Message) = ${ExternalCallerName.HandlerDelegateCaller.second}.callHandleMessage(baseInstance, msg)
}
""".trimIndent(),
ClassName.IActivityManagerProxyImpl_Impl to """
- @file:Suppress("ClassName")
+ @file:Suppress("ClassName", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
package ${PackageName.IActivityManagerProxyImpl_Impl}
import android.os.Handler
- import ${ExternalCallerName.YukiGenerateApiAnnotation.first}
import ${ExternalCallerName.IActivityManagerProxyCaller.first}
import ${PackageName.IActivityManagerProxyClass}.${tailPackageName(ClassName.IActivityManagerProxyClass)}
import java.lang.reflect.Proxy
""".trimIndent() + "\n\n" + createCommentContent(ClassName.IActivityManagerProxyImpl_Impl) + "\n" + """
- @${ExternalCallerName.YukiGenerateApiAnnotation.second}
object ${ClassName.IActivityManagerProxyImpl_Impl} {
fun createWrapper(clazz: Class<*>?, instance: Any) =
- Proxy.newProxyInstance(${ExternalCallerName.IActivityManagerProxyCaller.second}.currentClassLoader, arrayOf(clazz), ${tailPackageName(
- ClassName.IActivityManagerProxyClass
- )}(instance))
+ Proxy.newProxyInstance(${ExternalCallerName.IActivityManagerProxyCaller.second}.currentClassLoader, arrayOf(clazz), ${
+ tailPackageName(
+ ClassName.IActivityManagerProxyClass
+ )
+ }(instance))
}
""".trimIndent(),
ClassName.IActivityManagerProxyClass to """
- @file:Suppress("ClassName")
+ @file:Suppress("ClassName", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
package ${PackageName.IActivityManagerProxyClass}
import androidx.annotation.Keep
- import ${ExternalCallerName.YukiGenerateApiAnnotation.first}
import ${ExternalCallerName.IActivityManagerProxyCaller.first}
import java.lang.reflect.InvocationHandler
import java.lang.reflect.Method
import java.lang.reflect.Proxy
""".trimIndent() + "\n\n" + createCommentContent(ClassName.IActivityManagerProxyClass) + "\n" + """
@Keep
- @${ExternalCallerName.YukiGenerateApiAnnotation.second}
class ${tailPackageName(ClassName.IActivityManagerProxyClass)}(private val baseInstance: Any) : InvocationHandler {
override fun invoke(proxy: Any?, method: Method?, args: Array?) = ${ExternalCallerName.IActivityManagerProxyCaller.second}.callInvoke(baseInstance, method, args)
}
""".trimIndent(),
ClassName.XposedInit to """
- @file:Suppress("ClassName")
+ @file:Suppress("ClassName", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
package $entryPackageName
import androidx.annotation.Keep
import ${ExternalCallerName.YukiXposedEventCaller.first}
- import ${ExternalCallerName.YukiGenerateApiAnnotation.first}
${if (isUsingResourcesHook) "import de.robv.android.xposed.IXposedHookInitPackageResources" else ""}
import de.robv.android.xposed.IXposedHookLoadPackage
import de.robv.android.xposed.IXposedHookZygoteInit
@@ -306,7 +295,6 @@ fun GenerateData.sources() = mapOf(
import de.robv.android.xposed.callbacks.XC_LoadPackage
""".trimIndent() + "\n\n" + createCommentContent("Xposed Init") + "\n" + """
@Keep
- @${ExternalCallerName.YukiGenerateApiAnnotation.second}
class $xInitClassName : IXposedHookZygoteInit, IXposedHookLoadPackage${if (isUsingResourcesHook) ", IXposedHookInitPackageResources" else ""} {
override fun initZygote(sparam: IXposedHookZygoteInit.StartupParam?) {
@@ -330,11 +318,10 @@ fun GenerateData.sources() = mapOf(
""".trimIndent()
else "\n}"),
ClassName.XposedInit_Impl to """
- @file:Suppress("ClassName")
+ @file:Suppress("ClassName", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
package $entryPackageName
- import ${ExternalCallerName.YukiGenerateApiAnnotation.first}
import ${ExternalCallerName.YukiXposedModuleCaller.first}
import ${ExternalCallerName.YukiXposedResourcesCaller.first}
import com.highcapable.yukihookapi.hook.xposed.bridge.type.HookEntryType
@@ -344,7 +331,6 @@ fun GenerateData.sources() = mapOf(
import de.robv.android.xposed.callbacks.XC_LoadPackage
${if (customMPackageName.isBlank()) "import $modulePackageName.BuildConfig" else ""}
""".trimIndent() + "\n\n" + createCommentContent("Xposed Init Impl") + "\n" + """
- @${ExternalCallerName.YukiGenerateApiAnnotation.second}
object ${entryClassName}_Impl {
private const val modulePackageName = ${if (customMPackageName.isNotBlank()) "\"$customMPackageName\"" else "BuildConfig.APPLICATION_ID"}