Add new functions and Merge code

This commit is contained in:
2022-03-18 02:37:52 +08:00
parent 07e45dae89
commit 106591e4f9

View File

@@ -81,6 +81,26 @@ object YukiHookAPI {
*/ */
internal var isLoadedFromBaseContext = false internal var isLoadedFromBaseContext = false
/**
* 获取当前 Hook 框架的名称
*
* 从 [XposedBridge] 获取 TAG
* @return [String] 无法获取会返回 unknown - [hasXposedBridge] 不存在会返回 invalid
*/
val executorName
get() = runCatching {
(XposedBridge::class.java.getDeclaredField("TAG").apply { isAccessible = true }.get(null) as? String?)
?.replace(oldValue = "Bridge", newValue = "")?.replace(oldValue = "-", newValue = "")?.trim() ?: "unknown"
}.getOrNull() ?: "invalid"
/**
* 获取当前 Hook 框架的版本
*
* 获取 [XposedBridge.getXposedVersion]
* @return [Int] 无法获取会返回 -1
*/
val executorVersion get() = runCatching { XposedBridge.getXposedVersion() }.getOrNull() ?: -1
/** /**
* 配置 YukiHookAPI * 配置 YukiHookAPI
*/ */
@@ -238,7 +258,7 @@ object YukiHookAPI {
private fun printSplashLog() { private fun printSplashLog() {
if (!Configs.isDebug || !isShowSplashLogOnceTime) return if (!Configs.isDebug || !isShowSplashLogOnceTime) return
isShowSplashLogOnceTime = false isShowSplashLogOnceTime = false
yLoggerI(msg = "Welcome to YukiHookAPI $API_VERSION_NAME($API_VERSION_CODE)! Using Xposed API $hookingXposedApiVersion") yLoggerI(msg = "Welcome to YukiHookAPI $API_VERSION_NAME($API_VERSION_CODE)! Using $executorName API $executorVersion")
} }
/** /**
@@ -252,11 +272,5 @@ object YukiHookAPI {
* 是否存在 [XposedBridge] * 是否存在 [XposedBridge]
* @return [Boolean] * @return [Boolean]
*/ */
internal val hasXposedBridge get() = hookingXposedApiVersion >= 0 internal val hasXposedBridge get() = executorVersion >= 0
/**
* 输出当前使用的 Xposed 版本
* @return [Int]
*/
internal val hookingXposedApiVersion get() = runCatching { XposedBridge.getXposedVersion() }.getOrNull() ?: -1
} }