mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-06 02:35:40 +08:00
Changed "PackageParam.isHookParamCallback" to "HookParam.isCallbackCalled"
This commit is contained in:
@@ -111,8 +111,8 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
|||||||
@PublishedApi
|
@PublishedApi
|
||||||
internal fun hook(): Result {
|
internal fun hook(): Result {
|
||||||
if (YukiHookBridge.hasXposedBridge.not()) return Result()
|
if (YukiHookBridge.hasXposedBridge.not()) return Result()
|
||||||
/** 过滤 [HookEntryType.ZYGOTE] 与 [HookEntryType.PACKAGE] 或 [PackageParam.isHookParamCallback] 已被执行 */
|
/** 过滤 [HookEntryType.ZYGOTE] 与 [HookEntryType.PACKAGE] 或 [HookParam.isCallbackCalled] 已被执行 */
|
||||||
if (packageParam.wrapper?.type == HookEntryType.RESOURCES && packageParam.isHookParamCallback.not()) return Result()
|
if (packageParam.wrapper?.type == HookEntryType.RESOURCES && HookParam.isCallbackCalled.not()) return Result()
|
||||||
return if (preHookMembers.isEmpty()) error("Hook Members is empty, hook aborted")
|
return if (preHookMembers.isEmpty()) error("Hook Members is empty, hook aborted")
|
||||||
else Result().also {
|
else Result().also {
|
||||||
Thread {
|
Thread {
|
||||||
@@ -472,7 +472,7 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
|||||||
beforeHookCallback?.invoke(param)
|
beforeHookCallback?.invoke(param)
|
||||||
if (beforeHookCallback != null)
|
if (beforeHookCallback != null)
|
||||||
onHookLogMsg(msg = "Before Hook Member [${member ?: "All of \"$allMethodsName\""}] done [$tag]")
|
onHookLogMsg(msg = "Before Hook Member [${member ?: "All of \"$allMethodsName\""}] done [$tag]")
|
||||||
packageParam.isHookParamCallback = true
|
HookParam.invoke()
|
||||||
}.onFailure {
|
}.onFailure {
|
||||||
onConductFailureCallback?.invoke(param, it)
|
onConductFailureCallback?.invoke(param, it)
|
||||||
onAllFailureCallback?.invoke(it)
|
onAllFailureCallback?.invoke(it)
|
||||||
@@ -487,7 +487,7 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
|||||||
afterHookCallback?.invoke(param)
|
afterHookCallback?.invoke(param)
|
||||||
if (afterHookCallback != null)
|
if (afterHookCallback != null)
|
||||||
onHookLogMsg(msg = "After Hook Member [${member ?: "All of \"$allMethodsName\""}] done [$tag]")
|
onHookLogMsg(msg = "After Hook Member [${member ?: "All of \"$allMethodsName\""}] done [$tag]")
|
||||||
packageParam.isHookParamCallback = true
|
HookParam.invoke()
|
||||||
}.onFailure {
|
}.onFailure {
|
||||||
onConductFailureCallback?.invoke(param, it)
|
onConductFailureCallback?.invoke(param, it)
|
||||||
onAllFailureCallback?.invoke(it)
|
onAllFailureCallback?.invoke(it)
|
||||||
@@ -504,7 +504,7 @@ class YukiMemberHookCreater(@PublishedApi internal val packageParam: PackagePara
|
|||||||
YukiHookBridge.Hooker.hookMethod(member, replaceMent)?.also { onHookedCallback?.invoke(it) }
|
YukiHookBridge.Hooker.hookMethod(member, replaceMent)?.also { onHookedCallback?.invoke(it) }
|
||||||
?: error("Hook Member [$member] failed")
|
?: error("Hook Member [$member] failed")
|
||||||
else YukiHookBridge.Hooker.hookMethod(member, beforeAfterHook)?.also { onHookedCallback?.invoke(it) }
|
else YukiHookBridge.Hooker.hookMethod(member, beforeAfterHook)?.also { onHookedCallback?.invoke(it) }
|
||||||
?: error("Hook Member [$member] failed")).run { packageParam.isHookParamCallback = true }
|
?: error("Hook Member [$member] failed")).run { HookParam.invoke() }
|
||||||
}.onFailure {
|
}.onFailure {
|
||||||
onHookingFailureCallback?.invoke(it)
|
onHookingFailureCallback?.invoke(it)
|
||||||
onAllFailureCallback?.invoke(it)
|
onAllFailureCallback?.invoke(it)
|
||||||
|
@@ -42,6 +42,17 @@ import java.lang.reflect.Method
|
|||||||
*/
|
*/
|
||||||
class HookParam(private val createrInstance: YukiMemberHookCreater, private var wrapper: HookParamWrapper? = null) {
|
class HookParam(private val createrInstance: YukiMemberHookCreater, private var wrapper: HookParamWrapper? = null) {
|
||||||
|
|
||||||
|
internal companion object {
|
||||||
|
|
||||||
|
/** [HookParam] 是否已经执行首次回调事件 */
|
||||||
|
internal var isCallbackCalled = false
|
||||||
|
|
||||||
|
/** 设置 [HookParam] 执行首次回调事件 */
|
||||||
|
internal fun invoke() {
|
||||||
|
isCallbackCalled = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在回调中设置 [HookParam] 使用的 [HookParamWrapper]
|
* 在回调中设置 [HookParam] 使用的 [HookParamWrapper]
|
||||||
* @param wrapper [HookParamWrapper] 实例
|
* @param wrapper [HookParamWrapper] 实例
|
||||||
|
@@ -56,9 +56,6 @@ import com.highcapable.yukihookapi.hook.xposed.prefs.YukiHookModulePrefs
|
|||||||
*/
|
*/
|
||||||
open class PackageParam(@PublishedApi internal var wrapper: PackageParamWrapper? = null) {
|
open class PackageParam(@PublishedApi internal var wrapper: PackageParamWrapper? = null) {
|
||||||
|
|
||||||
/** [HookParam] 是否已经执行回调事件 */
|
|
||||||
internal var isHookParamCallback = false
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用于展示的 APP 包名
|
* 用于展示的 APP 包名
|
||||||
* @return [String]
|
* @return [String]
|
||||||
|
Reference in New Issue
Block a user