Fix a bug

This commit is contained in:
2022-03-20 00:45:47 +08:00
parent eac9707b75
commit ba499034a2
9 changed files with 38 additions and 28 deletions

View File

@@ -311,7 +311,7 @@ class YukiHookCreater(private val packageParam: PackageParam, private val hookCl
/**
* 拦截并替换方法返回值为 true
*
* ❗确保替换方法的返回对象为 [Boolean]
* - ❗确保替换方法的返回对象为 [Boolean]
*
* 不可与 [beforeHook]、[afterHook] 同时使用
*/
@@ -323,7 +323,7 @@ class YukiHookCreater(private val packageParam: PackageParam, private val hookCl
/**
* 拦截并替换方法返回值为 false
*
* ❗确保替换方法的返回对象为 [Boolean]
* - ❗确保替换方法的返回对象为 [Boolean]
*
* 不可与 [beforeHook]、[afterHook] 同时使用
*/
@@ -335,7 +335,7 @@ class YukiHookCreater(private val packageParam: PackageParam, private val hookCl
/**
* 拦截此方法
*
* ❗这将会禁止此方法执行并返回 null
* - ❗这将会禁止此方法执行并返回 null
*
* 不可与 [beforeHook]、[afterHook] 同时使用
*/

View File

@@ -179,14 +179,14 @@ class FieldFinder(
/**
* 设置变量实例为 true
*
* ❗请确保示例对象类型为 [Boolean]
* - ❗请确保示例对象类型为 [Boolean]
*/
fun setTrue() = set(true)
/**
* 设置变量实例为 true
*
* ❗请确保示例对象类型为 [Boolean]
* - ❗请确保示例对象类型为 [Boolean]
*/
fun setFalse() = set(false)

View File

@@ -123,7 +123,7 @@ class HookParam(private val wrapper: HookParamWrapper) {
/**
* 设置当前 Hook 对象方法的 [result] 返回值为 true
*
* ❗请确保 [result] 类型为 [Boolean]
* - ❗请确保 [result] 类型为 [Boolean]
*/
fun resultTrue() {
result = true
@@ -132,7 +132,7 @@ class HookParam(private val wrapper: HookParamWrapper) {
/**
* 设置当前 Hook 对象方法的 [result] 返回值为 false
*
* ❗请确保 [result] 类型为 [Boolean]
* - ❗请确保 [result] 类型为 [Boolean]
*/
fun resultFalse() {
result = false
@@ -141,7 +141,7 @@ class HookParam(private val wrapper: HookParamWrapper) {
/**
* 设置当前 Hook 对象方法的 [result] 为 null
*
* ❗此方法将强制设置方法体的 [result] 为 null
* - ❗此方法将强制设置方法体的 [result] 为 null
*/
fun resultNull() {
result = null
@@ -174,14 +174,14 @@ class HookParam(private val wrapper: HookParamWrapper) {
/**
* 设置方法参数的实例对象为 true
*
* ❗请确保目标对象的类型是 [Boolean] 不然会发生意想不到的问题
* - ❗请确保目标对象的类型是 [Boolean] 不然会发生意想不到的问题
*/
fun setTrue() = set(true)
/**
* 设置方法参数的实例对象为 false
*
* ❗请确保目标对象的类型是 [Boolean] 不然会发生意想不到的问题
* - ❗请确保目标对象的类型是 [Boolean] 不然会发生意想不到的问题
*/
fun setFalse() = set(false)

View File

@@ -36,7 +36,7 @@ import java.lang.reflect.Member
/**
* 用于包装 [HookParam]
*
* ❗这是一个私有 API - 请不要在外部使用
* - ❗这是一个私有 API - 请不要在外部使用
* @param baseParam 对接 [XC_MethodHook.MethodHookParam]
*/
@DoNotUseClass

View File

@@ -36,7 +36,7 @@ import com.highcapable.yukihookapi.hook.param.PackageParam
/**
* 用于包装 [PackageParam]
*
* ❗这是一个私有 API - 请不要在外部使用
* - ❗这是一个私有 API - 请不要在外部使用
* @param packageName 包名
* @param processName 当前进程名
* @param appClassLoader APP [ClassLoader]

View File

@@ -293,7 +293,7 @@ val ArrayMapClass get() = ArrayMap::class.java
* 获得 [ArraySet] 类型
* @return [Class]
*
* ❗在 Android M (23) 及以上系统加入
* - ❗在 Android M (23) 及以上系统加入
*/
val ArraySetClass get() = ArraySet::class.java
@@ -336,7 +336,7 @@ val AsyncTaskClass get() = AsyncTask::class.java
/**
* 获得 [SimpleDateFormat] 类型
*
* ❗在 Android N (24) 及以上系统加入
* - ❗在 Android N (24) 及以上系统加入
* @return [Class]
*/
val SimpleDateFormatClass_Android get() = SimpleDateFormat::class.java
@@ -362,7 +362,7 @@ val WindowClass get() = Window::class.java
/**
* 获得 [WindowMetrics] 类型
*
* ❗在 Android R (30) 及以上系统加入
* - ❗在 Android R (30) 及以上系统加入
* @return [Class]
*/
val WindowMetricsClass get() = WindowMetrics::class.java
@@ -376,7 +376,7 @@ val WindowInsetsClass get() = WindowInsets::class.java
/**
* 获得 [WindowInsets.Type] 类型
*
* ❗在 Android R (30) 及以上系统加入
* - ❗在 Android R (30) 及以上系统加入
* @return [Class]
*/
val WindowInsets_TypeClass get() = WindowInsets.Type::class.java
@@ -594,7 +594,7 @@ val VibratorClass get() = Vibrator::class.java
/**
* 获得 [VibrationEffect] 类型
*
* ❗在 Android O (26) 及以上系统加入
* - ❗在 Android O (26) 及以上系统加入
* @return [Class]
*/
val VibrationEffectClass get() = VibrationEffect::class.java
@@ -602,7 +602,7 @@ val VibrationEffectClass get() = VibrationEffect::class.java
/**
* 获得 [VibrationAttributes] 类型
*
* ❗在 Android R (30) 及以上系统加入
* - ❗在 Android R (30) 及以上系统加入
* @return [Class]
*/
val VibrationAttributesClass get() = VibrationAttributes::class.java
@@ -640,7 +640,7 @@ val UserDataHandlerClass get() = UserDataHandler::class.java
/**
* 获得 [ShortcutInfo] 类型
*
* ❗在 Android N_MR1 (25) 及以上系统加入
* - ❗在 Android N_MR1 (25) 及以上系统加入
* @return [Class]
*/
val ShortcutInfoClass get() = ShortcutInfo::class.java
@@ -648,7 +648,7 @@ val ShortcutInfoClass get() = ShortcutInfo::class.java
/**
* 获得 [ShortcutManager] 类型
*
* ❗在 Android R (30) 及以上系统加入
* - ❗在 Android R (30) 及以上系统加入
* @return [Class]
*/
val ShortcutManagerClass get() = ShortcutManager::class.java
@@ -656,7 +656,7 @@ val ShortcutManagerClass get() = ShortcutManager::class.java
/**
* 获得 [ShortcutQuery] 类型
*
* ❗在 Android N_MR1 (25) 及以上系统加入
* - ❗在 Android N_MR1 (25) 及以上系统加入
* @return [Class]
*/
val ShortcutQueryClass get() = ShortcutQuery::class.java

View File

@@ -50,7 +50,7 @@ val BitmapClass get() = Bitmap::class.java
/**
* 获得 [Icon] 类型
*
* ❗在 Android M (23) 及以上系统加入
* - ❗在 Android M (23) 及以上系统加入
* @return [Class]
*/
val IconClass get() = Icon::class.java

View File

@@ -336,7 +336,7 @@ val ThreadClass get() = Thread::class.java
/**
* 获得 [Base64] 类型
*
* ❗在 Android O (26) 及以上系统加入
* - ❗在 Android O (26) 及以上系统加入
* @return [Class]
*/
val Base64Class_Java get() = Base64::class.java

View File

@@ -162,7 +162,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
value
}
}
else xPref.getString(key, default) ?: default
else resetCacheSet { xPref.getString(key, default) ?: default }
else sPref.getString(key, default) ?: default).let {
makeWorldReadable()
it
@@ -185,7 +185,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
value
}
}
else xPref.getBoolean(key, default)
else resetCacheSet { xPref.getBoolean(key, default) }
else sPref.getBoolean(key, default)).let {
makeWorldReadable()
it
@@ -208,7 +208,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
value
}
}
else xPref.getInt(key, default)
else resetCacheSet { xPref.getInt(key, default) }
else sPref.getInt(key, default)).let {
makeWorldReadable()
it
@@ -231,7 +231,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
value
}
}
else xPref.getFloat(key, default)
else resetCacheSet { xPref.getFloat(key, default) }
else sPref.getFloat(key, default)).let {
makeWorldReadable()
it
@@ -254,7 +254,7 @@ class YukiHookModulePrefs(private val context: Context? = null) {
value
}
}
else xPref.getLong(key, default)
else resetCacheSet { xPref.getLong(key, default) }
else sPref.getLong(key, default)).let {
makeWorldReadable()
it
@@ -363,4 +363,14 @@ class YukiHookModulePrefs(private val context: Context? = null) {
xPrefCacheKeyValueLongs.clear()
xPrefCacheKeyValueFloats.clear()
}
/**
* 恢复 [isUsingKeyValueCache] 为默认状态
* @param result 回调方法体的结果
* @return [T]
*/
private fun <T> resetCacheSet(result: () -> T): T {
isUsingKeyValueCache = YukiHookAPI.Configs.isEnableModulePrefsCache
return result()
}
}