mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
Specification callback code style
This commit is contained in:
@@ -64,7 +64,7 @@
|
||||
|
||||
> 你大概率会遇到浏览器缓存造成文档不是最新版本的问题,若已经查看过一次文档,请手动在每个页面上刷新一次以同步最新版本,或清除浏览器缓存。
|
||||
|
||||
The latest version update time/最新版本更新时间:2022-05-29 03:50
|
||||
The latest version update time/最新版本更新时间:2022-05-30 04:50
|
||||
|
||||
## Contacts
|
||||
|
||||
|
@@ -12,7 +12,7 @@
|
||||
|
||||
- 方便移植 快速上手
|
||||
|
||||
<font size=3 style="opacity: 0.6">`更新时间 2022-05-29 03:50`</font>
|
||||
<font size=3 style="opacity: 0.6">`更新时间 2022-05-30 04:50`</font>
|
||||
|
||||
[GitHub](https://github.com/fankes/YukiHookAPI)
|
||||
[Get Started](#介绍)
|
||||
|
@@ -374,7 +374,7 @@ constructor {
|
||||
#### onNoSuchConstructor [method]
|
||||
|
||||
```kotlin
|
||||
inline fun onNoSuchConstructor(initiate: (Throwable) -> Unit): Result
|
||||
inline fun onNoSuchConstructor(result: (Throwable) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
@@ -268,7 +268,7 @@ fun give(): Field?
|
||||
#### onNoSuchField [method]
|
||||
|
||||
```kotlin
|
||||
fun onNoSuchField(initiate: (Throwable) -> Unit): Result
|
||||
fun onNoSuchField(result: (Throwable) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
@@ -466,7 +466,7 @@ method {
|
||||
#### onNoSuchMethod [method]
|
||||
|
||||
```kotlin
|
||||
inline fun onNoSuchMethod(initiate: (Throwable) -> Unit): Result
|
||||
inline fun onNoSuchMethod(result: (Throwable) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
@@ -656,7 +656,7 @@ inner class AppLifecycle internal constructor()
|
||||
#### attachBaseContext [method]
|
||||
|
||||
```kotlin
|
||||
fun attachBaseContext(initiate: (baseContext: Context, hasCalledSuper: Boolean) -> Unit)
|
||||
fun attachBaseContext(result: (baseContext: Context, hasCalledSuper: Boolean) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -712,7 +712,7 @@ fun onLowMemory(initiate: Application.() -> Unit)
|
||||
#### onTrimMemory [method]
|
||||
|
||||
```kotlin
|
||||
fun onTrimMemory(initiate: (self: Application, level: Int) -> Unit)
|
||||
fun onTrimMemory(result: (self: Application, level: Int) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -726,7 +726,7 @@ fun onTrimMemory(initiate: (self: Application, level: Int) -> Unit)
|
||||
#### onConfigurationChanged [method]
|
||||
|
||||
```kotlin
|
||||
fun onConfigurationChanged(initiate: (self: Application, config: Configuration) -> Unit)
|
||||
fun onConfigurationChanged(result: (self: Application, config: Configuration) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -740,7 +740,7 @@ fun onConfigurationChanged(initiate: (self: Application, config: Configuration)
|
||||
#### registerReceiver [method]
|
||||
|
||||
```kotlin
|
||||
fun registerReceiver(vararg action: String, initiate: (context: Context, intent: Intent) -> Unit)
|
||||
fun registerReceiver(vararg action: String, result: (context: Context, intent: Intent) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
@@ -393,7 +393,7 @@ inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorFinder.
|
||||
### allMethods [method]
|
||||
|
||||
```kotlin
|
||||
inline fun Class<*>.allMethods(callback: (index: Int, method: Method) -> Unit)
|
||||
inline fun Class<*>.allMethods(result: (index: Int, method: Method) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -411,7 +411,7 @@ inline fun Class<*>.allMethods(callback: (index: Int, method: Method) -> Unit)
|
||||
### allConstructors [method]
|
||||
|
||||
```kotlin
|
||||
inline fun Class<*>.allConstructors(callback: (index: Int, constructor: Constructor<*>) -> Unit)
|
||||
inline fun Class<*>.allConstructors(result: (index: Int, constructor: Constructor<*>) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -429,7 +429,7 @@ inline fun Class<*>.allConstructors(callback: (index: Int, constructor: Construc
|
||||
### allFields [method]
|
||||
|
||||
```kotlin
|
||||
inline fun Class<*>.allFields(callback: (index: Int, field: Field) -> Unit)
|
||||
inline fun Class<*>.allFields(result: (index: Int, field: Field) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
@@ -111,7 +111,7 @@ fun <T> wait(data: ChannelData<T>, result: (value: T) -> Unit)
|
||||
#### wait [method]
|
||||
|
||||
```kotlin
|
||||
fun wait(key: String, result: () -> Unit)
|
||||
fun wait(key: String, callback: () -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
@@ -575,7 +575,7 @@ injectMember {
|
||||
##### by [method]
|
||||
|
||||
```kotlin
|
||||
inline fun by(initiate: () -> Boolean): Result
|
||||
inline fun by(condition: () -> Boolean): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -593,7 +593,7 @@ inline fun by(initiate: () -> Boolean): Result
|
||||
##### onHooked [method]
|
||||
|
||||
```kotlin
|
||||
fun onHooked(initiate: (Member) -> Unit): Result
|
||||
fun onHooked(result: (Member) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -611,7 +611,7 @@ fun onHooked(initiate: (Member) -> Unit): Result
|
||||
##### onAlreadyHooked [method]
|
||||
|
||||
```kotlin
|
||||
fun onAlreadyHooked(initiate: (Member) -> Unit): Result
|
||||
fun onAlreadyHooked(result: (Member) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -627,7 +627,7 @@ fun onAlreadyHooked(initiate: (Member) -> Unit): Result
|
||||
##### onNoSuchMemberFailure [method]
|
||||
|
||||
```kotlin
|
||||
fun onNoSuchMemberFailure(initiate: (Throwable) -> Unit): Result
|
||||
fun onNoSuchMemberFailure(result: (Throwable) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -641,7 +641,7 @@ fun onNoSuchMemberFailure(initiate: (Throwable) -> Unit): Result
|
||||
##### onConductFailure [method]
|
||||
|
||||
```kotlin
|
||||
fun onConductFailure(initiate: (HookParam, Throwable) -> Unit): Result
|
||||
fun onConductFailure(result: (HookParam, Throwable) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -655,7 +655,7 @@ fun onConductFailure(initiate: (HookParam, Throwable) -> Unit): Result
|
||||
##### onHookingFailure [method]
|
||||
|
||||
```kotlin
|
||||
fun onHookingFailure(initiate: (Throwable) -> Unit): Result
|
||||
fun onHookingFailure(result: (Throwable) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -669,7 +669,7 @@ fun onHookingFailure(initiate: (Throwable) -> Unit): Result
|
||||
##### onAllFailure [method]
|
||||
|
||||
```kotlin
|
||||
fun onAllFailure(initiate: (Throwable) -> Unit): Result
|
||||
fun onAllFailure(result: (Throwable) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -775,7 +775,7 @@ inline fun result(initiate: Result.() -> Unit): Result
|
||||
#### by [method]
|
||||
|
||||
```kotlin
|
||||
inline fun by(initiate: () -> Boolean): Result
|
||||
inline fun by(condition: () -> Boolean): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -793,7 +793,7 @@ inline fun by(initiate: () -> Boolean): Result
|
||||
#### onPrepareHook [method]
|
||||
|
||||
```kotlin
|
||||
fun onPrepareHook(initiate: () -> Unit): Result
|
||||
fun onPrepareHook(callback: () -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -807,7 +807,7 @@ fun onPrepareHook(initiate: () -> Unit): Result
|
||||
#### onHookClassNotFoundFailure [method]
|
||||
|
||||
```kotlin
|
||||
fun onHookClassNotFoundFailure(initiate: (Throwable) -> Unit): Result
|
||||
fun onHookClassNotFoundFailure(result: (Throwable) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
@@ -529,7 +529,7 @@ inline fun result(initiate: Result.() -> Unit): Result
|
||||
##### by [method]
|
||||
|
||||
```kotlin
|
||||
inline fun by(initiate: () -> Boolean): Result
|
||||
inline fun by(condition: () -> Boolean): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -543,7 +543,7 @@ inline fun by(initiate: () -> Boolean): Result
|
||||
#### onHookingFailure [method]
|
||||
|
||||
```kotlin
|
||||
fun onHookingFailure(initiate: (Throwable) -> Unit): Result
|
||||
fun onHookingFailure(result: (Throwable) -> Unit): Result
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
@@ -29,7 +29,7 @@ inline fun events(initiate: YukiXposedEvent.() -> Unit)
|
||||
### onInitZygote [method]
|
||||
|
||||
```kotlin
|
||||
fun onInitZygote(initiate: (StartupParam) -> Unit)
|
||||
fun onInitZygote(result: (StartupParam) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -43,7 +43,7 @@ fun onInitZygote(initiate: (StartupParam) -> Unit)
|
||||
### onHandleLoadPackage [method]
|
||||
|
||||
```kotlin
|
||||
fun onHandleLoadPackage(initiate: (LoadPackageParam) -> Unit)
|
||||
fun onHandleLoadPackage(result: (LoadPackageParam) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
@@ -57,7 +57,7 @@ fun onHandleLoadPackage(initiate: (LoadPackageParam) -> Unit)
|
||||
### onHandleInitPackageResources [method]
|
||||
|
||||
```kotlin
|
||||
fun onHandleInitPackageResources(initiate: (InitPackageResourcesParam) -> Unit)
|
||||
fun onHandleInitPackageResources(result: (InitPackageResourcesParam) -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
@@ -609,11 +609,11 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
||||
* 添加执行 Hook 需要满足的条件
|
||||
*
|
||||
* 不满足条件将直接停止 Hook
|
||||
* @param initiate 条件方法体
|
||||
* @param condition 条件方法体
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
inline fun by(initiate: () -> Boolean): Result {
|
||||
isDisableMemberRunHook = (runCatching { initiate() }.getOrNull() ?: false).not()
|
||||
inline fun by(condition: () -> Boolean): Result {
|
||||
isDisableMemberRunHook = (runCatching { condition() }.getOrNull() ?: false).not()
|
||||
if (isDisableMemberRunHook) ignoredAllFailure()
|
||||
return this
|
||||
}
|
||||
@@ -624,11 +624,11 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
||||
* 在首次 Hook 成功后回调
|
||||
*
|
||||
* 在重复 Hook 时会回调 [onAlreadyHooked]
|
||||
* @param initiate 回调被 Hook 的 [Member]
|
||||
* @param result 回调被 Hook 的 [Member]
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onHooked(initiate: (Member) -> Unit): Result {
|
||||
onHookedCallback = initiate
|
||||
fun onHooked(result: (Member) -> Unit): Result {
|
||||
onHookedCallback = result
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -636,21 +636,21 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
||||
* 监听 [member] 重复 Hook 的回调方法
|
||||
*
|
||||
* - ❗同一个 [hookClass] 中的同一个 [member] 不会被 API 重复 Hook - 若由于各种原因重复 Hook 会回调此方法
|
||||
* @param initiate 回调被重复 Hook 的 [Member]
|
||||
* @param result 回调被重复 Hook 的 [Member]
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onAlreadyHooked(initiate: (Member) -> Unit): Result {
|
||||
onAlreadyHookedCallback = initiate
|
||||
fun onAlreadyHooked(result: (Member) -> Unit): Result {
|
||||
onAlreadyHookedCallback = result
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听 [member] 不存在发生错误的回调方法
|
||||
* @param initiate 回调错误
|
||||
* @param result 回调错误
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onNoSuchMemberFailure(initiate: (Throwable) -> Unit): Result {
|
||||
onNoSuchMemberFailureCallback = initiate
|
||||
fun onNoSuchMemberFailure(result: (Throwable) -> Unit): Result {
|
||||
onNoSuchMemberFailureCallback = result
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -662,11 +662,11 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
||||
|
||||
/**
|
||||
* 监听 Hook 进行过程中发生错误的回调方法
|
||||
* @param initiate 回调错误 - ([HookParam] 当前 Hook 实例,[Throwable] 异常)
|
||||
* @param result 回调错误 - ([HookParam] 当前 Hook 实例,[Throwable] 异常)
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onConductFailure(initiate: (HookParam, Throwable) -> Unit): Result {
|
||||
onConductFailureCallback = initiate
|
||||
fun onConductFailure(result: (HookParam, Throwable) -> Unit): Result {
|
||||
onConductFailureCallback = result
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -678,11 +678,11 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
||||
|
||||
/**
|
||||
* 监听 Hook 开始时发生错误的回调方法
|
||||
* @param initiate 回调错误
|
||||
* @param result 回调错误
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onHookingFailure(initiate: (Throwable) -> Unit): Result {
|
||||
onHookingFailureCallback = initiate
|
||||
fun onHookingFailure(result: (Throwable) -> Unit): Result {
|
||||
onHookingFailureCallback = result
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -694,11 +694,11 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
||||
|
||||
/**
|
||||
* 监听全部 Hook 过程发生错误的回调方法
|
||||
* @param initiate 回调错误
|
||||
* @param result 回调错误
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onAllFailure(initiate: (Throwable) -> Unit): Result {
|
||||
onAllFailureCallback = initiate
|
||||
fun onAllFailure(result: (Throwable) -> Unit): Result {
|
||||
onAllFailureCallback = result
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -731,31 +731,31 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
||||
* 添加执行 Hook 需要满足的条件
|
||||
*
|
||||
* 不满足条件将直接停止 Hook
|
||||
* @param initiate 条件方法体
|
||||
* @param condition 条件方法体
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
inline fun by(initiate: () -> Boolean): Result {
|
||||
isDisableCreaterRunHook = (runCatching { initiate() }.getOrNull() ?: false).not()
|
||||
inline fun by(condition: () -> Boolean): Result {
|
||||
isDisableCreaterRunHook = (runCatching { condition() }.getOrNull() ?: false).not()
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听 [hookClass] 存在时准备开始 Hook 的操作
|
||||
* @param initiate 条件方法体
|
||||
* @param callback 准备开始 Hook 后回调
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onPrepareHook(initiate: () -> Unit): Result {
|
||||
onPrepareHook = initiate
|
||||
fun onPrepareHook(callback: () -> Unit): Result {
|
||||
onPrepareHook = callback
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听 [hookClass] 找不到时发生错误的回调方法
|
||||
* @param initiate 回调错误
|
||||
* @param result 回调错误
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onHookClassNotFoundFailure(initiate: (Throwable) -> Unit): Result {
|
||||
onHookClassNotFoundFailureCallback = initiate
|
||||
fun onHookClassNotFoundFailure(result: (Throwable) -> Unit): Result {
|
||||
onHookClassNotFoundFailureCallback = result
|
||||
return this
|
||||
}
|
||||
|
||||
|
@@ -340,21 +340,21 @@ class YukiResourcesHookCreater(private val packageParam: PackageParam, @Publishe
|
||||
* 添加执行 Hook 需要满足的条件
|
||||
*
|
||||
* 不满足条件将直接停止 Hook
|
||||
* @param initiate 条件方法体
|
||||
* @param condition 条件方法体
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
inline fun by(initiate: () -> Boolean): Result {
|
||||
isDisableCreaterRunHook = (runCatching { initiate() }.getOrNull() ?: false).not()
|
||||
inline fun by(condition: () -> Boolean): Result {
|
||||
isDisableCreaterRunHook = (runCatching { condition() }.getOrNull() ?: false).not()
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听 Hook 过程发生错误的回调方法
|
||||
* @param initiate 回调错误
|
||||
* @param result 回调错误
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onHookingFailure(initiate: (Throwable) -> Unit): Result {
|
||||
onHookFailureCallback = initiate
|
||||
fun onHookingFailure(result: (Throwable) -> Unit): Result {
|
||||
onHookFailureCallback = result
|
||||
return this
|
||||
}
|
||||
|
||||
|
@@ -344,11 +344,11 @@ class ConstructorFinder @PublishedApi internal constructor(
|
||||
* 监听找不到构造方法时
|
||||
*
|
||||
* 只会返回第一次的错误信息 - 不会返回 [RemedyPlan] 的错误信息
|
||||
* @param initiate 回调错误
|
||||
* @param result 回调错误
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
inline fun onNoSuchConstructor(initiate: (Throwable) -> Unit): Result {
|
||||
if (isNoSuch) initiate(e ?: Throwable())
|
||||
inline fun onNoSuchConstructor(result: (Throwable) -> Unit): Result {
|
||||
if (isNoSuch) result(e ?: Throwable())
|
||||
return this
|
||||
}
|
||||
|
||||
|
@@ -235,11 +235,11 @@ class FieldFinder @PublishedApi internal constructor(
|
||||
|
||||
/**
|
||||
* 监听找不到变量时
|
||||
* @param initiate 回调错误
|
||||
* @param result 回调错误
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
fun onNoSuchField(initiate: (Throwable) -> Unit): Result {
|
||||
if (isNoSuch) initiate(e ?: Throwable())
|
||||
fun onNoSuchField(result: (Throwable) -> Unit): Result {
|
||||
if (isNoSuch) result(e ?: Throwable())
|
||||
return this
|
||||
}
|
||||
|
||||
|
@@ -416,11 +416,11 @@ class MethodFinder @PublishedApi internal constructor(
|
||||
* 监听找不到方法时
|
||||
*
|
||||
* 只会返回第一次的错误信息 - 不会返回 [RemedyPlan] 的错误信息
|
||||
* @param initiate 回调错误
|
||||
* @param result 回调错误
|
||||
* @return [Result] 可继续向下监听
|
||||
*/
|
||||
inline fun onNoSuchMethod(initiate: (Throwable) -> Unit): Result {
|
||||
if (isNoSuch) initiate(e ?: Throwable("Initialization Error"))
|
||||
inline fun onNoSuchMethod(result: (Throwable) -> Unit): Result {
|
||||
if (isNoSuch) result(e ?: Throwable("Initialization Error"))
|
||||
return this
|
||||
}
|
||||
|
||||
|
@@ -182,21 +182,21 @@ inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorFinder.
|
||||
|
||||
/**
|
||||
* 遍历当前类中的所有方法
|
||||
* @param callback 回调 - ([Int] 下标,[Method] 实例)
|
||||
* @param result 回调 - ([Int] 下标,[Method] 实例)
|
||||
*/
|
||||
inline fun Class<*>.allMethods(callback: (index: Int, method: Method) -> Unit) =
|
||||
declaredMethods.forEachIndexed { p, it -> callback(p, it.apply { isAccessible = true }) }
|
||||
inline fun Class<*>.allMethods(result: (index: Int, method: Method) -> Unit) =
|
||||
declaredMethods.forEachIndexed { p, it -> result(p, it.apply { isAccessible = true }) }
|
||||
|
||||
/**
|
||||
* 遍历当前类中的所有构造方法
|
||||
* @param callback 回调 - ([Int] 下标,[Constructor] 实例)
|
||||
* @param result 回调 - ([Int] 下标,[Constructor] 实例)
|
||||
*/
|
||||
inline fun Class<*>.allConstructors(callback: (index: Int, constructor: Constructor<*>) -> Unit) =
|
||||
declaredConstructors.forEachIndexed { p, it -> callback(p, it.apply { isAccessible = true }) }
|
||||
inline fun Class<*>.allConstructors(result: (index: Int, constructor: Constructor<*>) -> Unit) =
|
||||
declaredConstructors.forEachIndexed { p, it -> result(p, it.apply { isAccessible = true }) }
|
||||
|
||||
/**
|
||||
* 遍历当前类中的所有变量
|
||||
* @param callback 回调 - ([Int] 下标,[Field] 实例)
|
||||
* @param result 回调 - ([Int] 下标,[Field] 实例)
|
||||
*/
|
||||
inline fun Class<*>.allFields(callback: (index: Int, field: Field) -> Unit) =
|
||||
declaredFields.forEachIndexed { p, it -> callback(p, it.apply { isAccessible = true }) }
|
||||
inline fun Class<*>.allFields(result: (index: Int, field: Field) -> Unit) =
|
||||
declaredFields.forEachIndexed { p, it -> result(p, it.apply { isAccessible = true }) }
|
@@ -414,10 +414,10 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
|
||||
|
||||
/**
|
||||
* 监听当前 Hook APP 装载 [Application.attachBaseContext]
|
||||
* @param initiate 回调 - ([Context] baseContext,[Boolean] 是否已执行 super)
|
||||
* @param result 回调 - ([Context] baseContext,[Boolean] 是否已执行 super)
|
||||
*/
|
||||
fun attachBaseContext(initiate: (baseContext: Context, hasCalledSuper: Boolean) -> Unit) {
|
||||
YukiHookBridge.AppLifecycleCallback.attachBaseContextCallback = initiate
|
||||
fun attachBaseContext(result: (baseContext: Context, hasCalledSuper: Boolean) -> Unit) {
|
||||
YukiHookBridge.AppLifecycleCallback.attachBaseContextCallback = result
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -446,27 +446,27 @@ open class PackageParam internal constructor(@PublishedApi internal var wrapper:
|
||||
|
||||
/**
|
||||
* 监听当前 Hook APP 装载 [Application.onTrimMemory]
|
||||
* @param initiate 回调 - ([Application] 当前实例,[Int] 类型)
|
||||
* @param result 回调 - ([Application] 当前实例,[Int] 类型)
|
||||
*/
|
||||
fun onTrimMemory(initiate: (self: Application, level: Int) -> Unit) {
|
||||
YukiHookBridge.AppLifecycleCallback.onTrimMemoryCallback = initiate
|
||||
fun onTrimMemory(result: (self: Application, level: Int) -> Unit) {
|
||||
YukiHookBridge.AppLifecycleCallback.onTrimMemoryCallback = result
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听当前 Hook APP 装载 [Application.onConfigurationChanged]
|
||||
* @param initiate 回调 - ([Application] 当前实例,[Configuration] 配置实例)
|
||||
* @param result 回调 - ([Application] 当前实例,[Configuration] 配置实例)
|
||||
*/
|
||||
fun onConfigurationChanged(initiate: (self: Application, config: Configuration) -> Unit) {
|
||||
YukiHookBridge.AppLifecycleCallback.onConfigurationChangedCallback = initiate
|
||||
fun onConfigurationChanged(result: (self: Application, config: Configuration) -> Unit) {
|
||||
YukiHookBridge.AppLifecycleCallback.onConfigurationChangedCallback = result
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册系统广播监听
|
||||
* @param action 系统广播 Action
|
||||
* @param initiate 回调 - ([Context] 当前上下文,[Intent] 当前 Intent)
|
||||
* @param result 回调 - ([Context] 当前上下文,[Intent] 当前 Intent)
|
||||
*/
|
||||
fun registerReceiver(vararg action: String, initiate: (context: Context, intent: Intent) -> Unit) {
|
||||
if (action.isNotEmpty()) YukiHookBridge.AppLifecycleCallback.onReceiversCallback[action.value()] = Pair(action, initiate)
|
||||
fun registerReceiver(vararg action: String, result: (context: Context, intent: Intent) -> Unit) {
|
||||
if (action.isNotEmpty()) YukiHookBridge.AppLifecycleCallback.onReceiversCallback[action.value()] = Pair(action, result)
|
||||
}
|
||||
|
||||
/** 设置创建生命周期监听回调 */
|
||||
|
@@ -80,8 +80,8 @@ class RunBlockResult(@PublishedApi internal val afterMs: Long) {
|
||||
|
||||
/**
|
||||
* 获取耗时计算结果
|
||||
* @param initiate 回调结果 - ([Long] 耗时)
|
||||
* @param result 回调结果 - ([Long] 耗时)
|
||||
*/
|
||||
@YukiPrivateApi
|
||||
inline fun result(initiate: (Long) -> Unit) = initiate(afterMs)
|
||||
inline fun result(result: (Long) -> Unit) = result(afterMs)
|
||||
}
|
@@ -58,26 +58,26 @@ object YukiXposedEvent {
|
||||
|
||||
/**
|
||||
* 设置 initZygote 事件监听
|
||||
* @param initiate 回调方法体
|
||||
* @param result 回调方法体
|
||||
*/
|
||||
fun onInitZygote(initiate: (StartupParam) -> Unit) {
|
||||
initZygoteCallback = initiate
|
||||
fun onInitZygote(result: (StartupParam) -> Unit) {
|
||||
initZygoteCallback = result
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置 handleLoadPackage 事件监听
|
||||
* @param initiate 回调方法体
|
||||
* @param result 回调方法体
|
||||
*/
|
||||
fun onHandleLoadPackage(initiate: (LoadPackageParam) -> Unit) {
|
||||
handleLoadPackageCallback = initiate
|
||||
fun onHandleLoadPackage(result: (LoadPackageParam) -> Unit) {
|
||||
handleLoadPackageCallback = result
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置 handleInitPackageResources 事件监听
|
||||
* @param initiate 回调方法体
|
||||
* @param result 回调方法体
|
||||
*/
|
||||
fun onHandleInitPackageResources(initiate: (InitPackageResourcesParam) -> Unit) {
|
||||
handleInitPackageResourcesCallback = initiate
|
||||
fun onHandleInitPackageResources(result: (InitPackageResourcesParam) -> Unit) {
|
||||
handleInitPackageResourcesCallback = result
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -267,12 +267,12 @@ class YukiHookDataChannel private constructor() {
|
||||
*
|
||||
* - ❗仅限使用 [VALUE_WAIT_FOR_LISTENER] 发送的监听才能被接收
|
||||
* @param key 键值名称
|
||||
* @param result 回调结果
|
||||
* @param callback 回调结果
|
||||
*/
|
||||
fun wait(key: String, result: () -> Unit) {
|
||||
fun wait(key: String, callback: () -> Unit) {
|
||||
receiverCallbacks[key + keyShortName(CallbackKeyType.VMFL)] = Pair(context) { action, intent ->
|
||||
if (action == if (isXposedEnvironment) hostActionName(packageName) else moduleActionName(context))
|
||||
if (intent.getStringExtra(key) == VALUE_WAIT_FOR_LISTENER) result()
|
||||
if (intent.getStringExtra(key) == VALUE_WAIT_FOR_LISTENER) callback()
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -597,10 +597,10 @@ class YukiHookModulePrefs private constructor(private var context: Context? = nu
|
||||
* 仅在模块环境执行
|
||||
*
|
||||
* 非模块环境使用会打印警告信息
|
||||
* @param initiate 在模块环境执行
|
||||
* @param callback 在模块环境执行
|
||||
*/
|
||||
private inline fun moduleEnvironment(initiate: () -> Unit) {
|
||||
if (isXposedEnvironment.not()) initiate()
|
||||
private inline fun moduleEnvironment(callback: () -> Unit) {
|
||||
if (isXposedEnvironment.not()) callback()
|
||||
else yLoggerW(msg = "You cannot use write prefs function in Xposed Environment")
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user