mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 01:35:17 +08:00
Modify move puts functions to Editor in YukiHookModulePrefs
This commit is contained in:
@@ -274,185 +274,85 @@ fun all(): HashMap<String, Any?>
|
||||
|
||||
:::
|
||||
|
||||
## remove <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun remove(key: String)
|
||||
```
|
||||
<h2 class="deprecated">remove - method</h2>
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0` `first`
|
||||
|
||||
**Function Illustrate**
|
||||
`v1.1.9` `deprecated`
|
||||
|
||||
> 移除全部包含 `key` 的存储数据。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## remove <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inline fun <reified T> remove(prefs: PrefsData<T>)
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0.67` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 移除 `PrefsData.key` 的存储数据。
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## clear <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun clear()
|
||||
```
|
||||
<h2 class="deprecated">clear - method</h2>
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0.77` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
`v1.1.9` `deprecated`
|
||||
|
||||
> 移除全部存储数据。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putString <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putString(key: String, value: String)
|
||||
```
|
||||
<h2 class="deprecated">putString - method</h2>
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0` `first`
|
||||
|
||||
**Function Illustrate**
|
||||
`v1.1.9` `deprecated`
|
||||
|
||||
> 存储 `String` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putStringSet <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putStringSet(key: String, value: Set<String>)
|
||||
```
|
||||
<h2 class="deprecated">putStringSet - method</h2>
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0.77` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
`v1.1.9` `deprecated`
|
||||
|
||||
> 存储 `Set<String>` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putBoolean <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putBoolean(key: String, value: Boolean)
|
||||
```
|
||||
<h2 class="deprecated">putBoolean - method</h2>
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0` `first`
|
||||
|
||||
**Function Illustrate**
|
||||
`v1.1.9` `deprecated`
|
||||
|
||||
> 存储 `Boolean` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putInt <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putInt(key: String, value: Int)
|
||||
```
|
||||
<h2 class="deprecated">putInt - method</h2>
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0` `first`
|
||||
|
||||
**Function Illustrate**
|
||||
`v1.1.9` `deprecated`
|
||||
|
||||
> 存储 `Int` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putLong <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putLong(key: String, value: Long)
|
||||
```
|
||||
<h2 class="deprecated">putLong - method</h2>
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0` `first`
|
||||
|
||||
**Function Illustrate**
|
||||
`v1.1.9` `deprecated`
|
||||
|
||||
> 存储 `Long` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putFloat <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putFloat(key: String, value: Float)
|
||||
```
|
||||
<h2 class="deprecated">putFloat - method</h2>
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0` `first`
|
||||
|
||||
**Function Illustrate**
|
||||
`v1.1.9` `deprecated`
|
||||
|
||||
> 存储 `Float` 键值。
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
请转移到 `edit` 方法
|
||||
|
||||
## get <span class="symbol">- method</span>
|
||||
|
||||
@@ -468,19 +368,51 @@ inline fun <reified T> get(prefs: PrefsData<T>, value: T): T
|
||||
|
||||
> 智能获取指定类型的键值。
|
||||
|
||||
## put <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inline fun <reified T> put(prefs: PrefsData<T>, value: T)
|
||||
```
|
||||
<h2 class="deprecated">put - method</h2>
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.0.67` `added`
|
||||
|
||||
`v1.1.9` `deprecated`
|
||||
|
||||
请转移到 `edit` 方法
|
||||
|
||||
## edit <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun edit(): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 智能存储指定类型的键值。
|
||||
> 创建新的 `Editor`。
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## edit <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun edit(initiate: Editor.() -> Unit)
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 创建新的 `Editor`。
|
||||
|
||||
自动调用 `Editor.apply` 方法。
|
||||
|
||||
::: warning
|
||||
|
||||
@@ -508,4 +440,194 @@ fun clearCache()
|
||||
|
||||
下次将从 `XSharedPreferences` 重新读取。
|
||||
|
||||
在 (Xposed) 宿主环境中使用。
|
||||
在 (Xposed) 宿主环境中使用。
|
||||
|
||||
## Editor <span class="symbol">- class</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inner class Editor internal constructor()
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> `YukiHookModulePrefs` 的存储代理类。
|
||||
|
||||
请使用 `edit` 方法来获取 `Editor`。
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
### remove <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun remove(key: String): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 移除全部包含 `key` 的存储数据。
|
||||
|
||||
### remove <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inline fun <reified T> remove(prefs: PrefsData<T>): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 移除 `PrefsData.key` 的存储数据。
|
||||
|
||||
### clear <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun clear(): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 移除全部存储数据。
|
||||
|
||||
### putString <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putString(key: String, value: String): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 存储 `String` 键值。
|
||||
|
||||
### putStringSet <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putStringSet(key: String, value: Set<String>): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 存储 `Set<String>` 键值。
|
||||
|
||||
### putBoolean <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putBoolean(key: String, value: Boolean): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 存储 `Boolean` 键值。
|
||||
|
||||
### putInt <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putInt(key: String, value: Int): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 存储 `Int` 键值。
|
||||
|
||||
### putLong <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putLong(key: String, value: Long): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 存储 `Long` 键值。
|
||||
|
||||
### putFloat <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putFloat(key: String, value: Float): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 存储 `Float` 键值。
|
||||
|
||||
### put <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inline fun <reified T> put(prefs: PrefsData<T>, value: T): Editor
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 智能存储指定类型的键值。
|
||||
|
||||
### commit <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun commit(): Boolean
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 提交更改 (同步)。
|
||||
|
||||
### apply <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun apply()
|
||||
```
|
||||
|
||||
**Change Records**
|
||||
|
||||
`v1.1.9` `added`
|
||||
|
||||
**Function Illustrate**
|
||||
|
||||
> 提交更改 (异步)。
|
@@ -266,185 +266,85 @@ fun all(): HashMap<String, Any?>
|
||||
|
||||
:::
|
||||
|
||||
## remove <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun remove(key: String)
|
||||
```
|
||||
<h2 class="deprecated">remove - method</h2>
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
**功能描述**
|
||||
`v1.1.9` `作废`
|
||||
|
||||
> 移除全部包含 `key` 的存储数据。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## remove <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inline fun <reified T> remove(prefs: PrefsData<T>)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.67` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 移除 `PrefsData.key` 的存储数据。
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## clear <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun clear()
|
||||
```
|
||||
<h2 class="deprecated">clear - method</h2>
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.77` `新增`
|
||||
|
||||
**功能描述**
|
||||
`v1.1.9` `作废`
|
||||
|
||||
> 移除全部存储数据。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putString <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putString(key: String, value: String)
|
||||
```
|
||||
<h2 class="deprecated">putString - method</h2>
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
**功能描述**
|
||||
`v1.1.9` `作废`
|
||||
|
||||
> 存储 `String` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putStringSet <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putStringSet(key: String, value: Set<String>)
|
||||
```
|
||||
<h2 class="deprecated">putStringSet - method</h2>
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.77` `新增`
|
||||
|
||||
**功能描述**
|
||||
`v1.1.9` `作废`
|
||||
|
||||
> 存储 `Set<String>` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putBoolean <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putBoolean(key: String, value: Boolean)
|
||||
```
|
||||
<h2 class="deprecated">putBoolean - method</h2>
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
**功能描述**
|
||||
`v1.1.9` `作废`
|
||||
|
||||
> 存储 `Boolean` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putInt <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putInt(key: String, value: Int)
|
||||
```
|
||||
<h2 class="deprecated">putInt - method</h2>
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
**功能描述**
|
||||
`v1.1.9` `作废`
|
||||
|
||||
> 存储 `Int` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putLong <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putLong(key: String, value: Long)
|
||||
```
|
||||
<h2 class="deprecated">putLong - method</h2>
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
**功能描述**
|
||||
`v1.1.9` `作废`
|
||||
|
||||
> 存储 `Long` 键值。
|
||||
请转移到 `edit` 方法
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## putFloat <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putFloat(key: String, value: Float)
|
||||
```
|
||||
<h2 class="deprecated">putFloat - method</h2>
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0` `添加`
|
||||
|
||||
**功能描述**
|
||||
`v1.1.9` `作废`
|
||||
|
||||
> 存储 `Float` 键值。
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
请转移到 `edit` 方法
|
||||
|
||||
## get <span class="symbol">- method</span>
|
||||
|
||||
@@ -460,19 +360,51 @@ inline fun <reified T> get(prefs: PrefsData<T>, value: T): T
|
||||
|
||||
> 智能获取指定类型的键值。
|
||||
|
||||
## put <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inline fun <reified T> put(prefs: PrefsData<T>, value: T)
|
||||
```
|
||||
<h2 class="deprecated">put - method</h2>
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.0.67` `新增`
|
||||
|
||||
`v1.1.9` `作废`
|
||||
|
||||
请转移到 `edit` 方法
|
||||
|
||||
## edit <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun edit(): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 智能存储指定类型的键值。
|
||||
> 创建新的 `Editor`。
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
## edit <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun edit(initiate: Editor.() -> Unit)
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 创建新的 `Editor`。
|
||||
|
||||
自动调用 `Editor.apply` 方法。
|
||||
|
||||
::: warning
|
||||
|
||||
@@ -500,4 +432,194 @@ fun clearCache()
|
||||
|
||||
下次将从 `XSharedPreferences` 重新读取。
|
||||
|
||||
在 (Xposed) 宿主环境中使用。
|
||||
在 (Xposed) 宿主环境中使用。
|
||||
|
||||
## Editor <span class="symbol">- class</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inner class Editor internal constructor()
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> `YukiHookModulePrefs` 的存储代理类。
|
||||
|
||||
请使用 `edit` 方法来获取 `Editor`。
|
||||
|
||||
::: warning
|
||||
|
||||
在 (Xposed) 宿主环境下只读,无法使用。
|
||||
|
||||
:::
|
||||
|
||||
### remove <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun remove(key: String): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 移除全部包含 `key` 的存储数据。
|
||||
|
||||
### remove <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inline fun <reified T> remove(prefs: PrefsData<T>): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 移除 `PrefsData.key` 的存储数据。
|
||||
|
||||
### clear <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun clear(): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 移除全部存储数据。
|
||||
|
||||
### putString <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putString(key: String, value: String): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 存储 `String` 键值。
|
||||
|
||||
### putStringSet <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putStringSet(key: String, value: Set<String>): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 存储 `Set<String>` 键值。
|
||||
|
||||
### putBoolean <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putBoolean(key: String, value: Boolean): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 存储 `Boolean` 键值。
|
||||
|
||||
### putInt <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putInt(key: String, value: Int): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 存储 `Int` 键值。
|
||||
|
||||
### putLong <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putLong(key: String, value: Long): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 存储 `Long` 键值。
|
||||
|
||||
### putFloat <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun putFloat(key: String, value: Float): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 存储 `Float` 键值。
|
||||
|
||||
### put <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
inline fun <reified T> put(prefs: PrefsData<T>, value: T): Editor
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 智能存储指定类型的键值。
|
||||
|
||||
### commit <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun commit(): Boolean
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 提交更改 (同步)。
|
||||
|
||||
### apply <span class="symbol">- method</span>
|
||||
|
||||
```kotlin:no-line-numbers
|
||||
fun apply()
|
||||
```
|
||||
|
||||
**变更记录**
|
||||
|
||||
`v1.1.9` `新增`
|
||||
|
||||
**功能描述**
|
||||
|
||||
> 提交更改 (异步)。
|
@@ -398,6 +398,33 @@ class YukiHookModulePrefs private constructor(private var context: Context? = nu
|
||||
it
|
||||
}
|
||||
|
||||
/**
|
||||
* 智能获取指定类型的键值
|
||||
* @param prefs 键值实例
|
||||
* @param value 默认值 - 未指定默认为 [prefs] 中的 [PrefsData.value]
|
||||
* @return [T] 只能是 [String]、[Set]<[String]>、[Int]、[Float]、[Long]、[Boolean]
|
||||
*/
|
||||
inline fun <reified T> get(prefs: PrefsData<T>, value: T = prefs.value): T = getPrefsData(prefs.key, value) as T
|
||||
|
||||
/**
|
||||
* 智能获取指定类型的键值
|
||||
*
|
||||
* 封装方法以调用内联方法
|
||||
* @param key 键值
|
||||
* @param value 默认值
|
||||
* @return [Any]
|
||||
*/
|
||||
@PublishedApi
|
||||
internal fun getPrefsData(key: String, value: Any?): Any = when (value) {
|
||||
is String -> getString(key, value)
|
||||
is Set<*> -> getStringSet(key, value as? Set<String> ?: error("Key-Value type ${value.javaClass.name} is not allowed"))
|
||||
is Int -> getInt(key, value)
|
||||
is Float -> getFloat(key, value)
|
||||
is Long -> getLong(key, value)
|
||||
is Boolean -> getBoolean(key, value)
|
||||
else -> error("Key-Value type ${value?.javaClass?.name} is not allowed")
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断当前是否包含 [key] 键值的数据
|
||||
*
|
||||
@@ -426,193 +453,138 @@ class YukiHookModulePrefs private constructor(private var context: Context? = nu
|
||||
/**
|
||||
* 移除全部包含 [key] 的存储数据
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
* @param key 键值名称
|
||||
*/
|
||||
fun remove(key: String) = moduleEnvironment {
|
||||
sPrefs.edit().remove(key).apply()
|
||||
makeWorldReadable()
|
||||
}
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { remove(key) }"))
|
||||
fun remove(key: String) = edit { remove(key) }
|
||||
|
||||
/**
|
||||
* 移除 [PrefsData.key] 的存储数据
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
* @param prefs 键值实例
|
||||
*/
|
||||
inline fun <reified T> remove(prefs: PrefsData<T>) = remove(prefs.key)
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { remove(prefs) }"))
|
||||
inline fun <reified T> remove(prefs: PrefsData<T>) = edit { remove(prefs) }
|
||||
|
||||
/**
|
||||
* 移除全部存储数据
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
*/
|
||||
fun clear() = moduleEnvironment {
|
||||
sPrefs.edit().clear().apply()
|
||||
makeWorldReadable()
|
||||
}
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { clear() }"))
|
||||
fun clear() = edit { clear() }
|
||||
|
||||
/**
|
||||
* 存储 [String] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
fun putString(key: String, value: String) = moduleEnvironment {
|
||||
sPrefs.edit().putString(key, value).apply()
|
||||
makeWorldReadable()
|
||||
}
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { putString(key, value) }"))
|
||||
fun putString(key: String, value: String) = edit { putString(key, value) }
|
||||
|
||||
/**
|
||||
* 存储 [Set]<[String]> 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
fun putStringSet(key: String, value: Set<String>) = moduleEnvironment {
|
||||
sPrefs.edit().putStringSet(key, value).apply()
|
||||
makeWorldReadable()
|
||||
}
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { putStringSet(key, value) }"))
|
||||
fun putStringSet(key: String, value: Set<String>) = edit { putStringSet(key, value) }
|
||||
|
||||
/**
|
||||
* 存储 [Boolean] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
fun putBoolean(key: String, value: Boolean) = moduleEnvironment {
|
||||
sPrefs.edit().putBoolean(key, value).apply()
|
||||
makeWorldReadable()
|
||||
}
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { putBoolean(key, value) }"))
|
||||
fun putBoolean(key: String, value: Boolean) = edit { putBoolean(key, value) }
|
||||
|
||||
/**
|
||||
* 存储 [Int] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
fun putInt(key: String, value: Int) = moduleEnvironment {
|
||||
sPrefs.edit().putInt(key, value).apply()
|
||||
makeWorldReadable()
|
||||
}
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { putInt(key, value) }"))
|
||||
fun putInt(key: String, value: Int) = edit { putInt(key, value) }
|
||||
|
||||
/**
|
||||
* 存储 [Float] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
fun putFloat(key: String, value: Float) = moduleEnvironment {
|
||||
sPrefs.edit().putFloat(key, value).apply()
|
||||
makeWorldReadable()
|
||||
}
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { putFloat(key, value) }"))
|
||||
fun putFloat(key: String, value: Float) = edit { putFloat(key, value) }
|
||||
|
||||
/**
|
||||
* 存储 [Long] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
*/
|
||||
fun putLong(key: String, value: Long) = moduleEnvironment {
|
||||
sPrefs.edit().putLong(key, value).apply()
|
||||
makeWorldReadable()
|
||||
}
|
||||
|
||||
/**
|
||||
* 智能获取指定类型的键值
|
||||
* @param prefs 键值实例
|
||||
* @param value 默认值 - 未指定默认为 [prefs] 中的 [PrefsData.value]
|
||||
* @return [T] 只能是 [String]、[Set]<[String]>、[Int]、[Float]、[Long]、[Boolean]
|
||||
*/
|
||||
inline fun <reified T> get(prefs: PrefsData<T>, value: T = prefs.value): T = getPrefsData(prefs.key, value) as T
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { putLong(key, value) }"))
|
||||
fun putLong(key: String, value: Long) = edit { putLong(key, value) }
|
||||
|
||||
/**
|
||||
* 智能存储指定类型的键值
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
* - ❗此方法已弃用 - 在之后的版本中将直接被删除
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* @param prefs 键值实例
|
||||
* @param value 要存储的值 - 只能是 [String]、[Set]<[String]>、[Int]、[Float]、[Long]、[Boolean]
|
||||
* - ❗请现在转移到 [edit] 方法
|
||||
*/
|
||||
inline fun <reified T> put(prefs: PrefsData<T>, value: T) = putPrefsData(prefs.key, value)
|
||||
@Deprecated(message = "此方法因为性能问题已被作废,请转移到新用法", ReplaceWith("edit { put(prefs, value) }"))
|
||||
inline fun <reified T> put(prefs: PrefsData<T>, value: T) = edit { put(prefs, value) }
|
||||
|
||||
/**
|
||||
* 智能获取指定类型的键值
|
||||
*
|
||||
* 封装方法以调用内联方法
|
||||
* @param key 键值
|
||||
* @param value 默认值
|
||||
* @return [Any]
|
||||
*/
|
||||
@PublishedApi
|
||||
internal fun getPrefsData(key: String, value: Any?): Any = when (value) {
|
||||
is String -> getString(key, value)
|
||||
is Set<*> -> getStringSet(key, value as? Set<String> ?: error("Key-Value type ${value.javaClass.name} is not allowed"))
|
||||
is Int -> getInt(key, value)
|
||||
is Float -> getFloat(key, value)
|
||||
is Long -> getLong(key, value)
|
||||
is Boolean -> getBoolean(key, value)
|
||||
else -> error("Key-Value type ${value?.javaClass?.name} is not allowed")
|
||||
}
|
||||
|
||||
/**
|
||||
* 智能存储指定类型的键值
|
||||
*
|
||||
* 封装方法以调用内联方法
|
||||
* 创建新的 [Editor]
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* @param key 键值
|
||||
* @param value 要存储的值 - 只能是 [String]、[Set]<[String]>、[Int]、[Float]、[Long]、[Boolean]
|
||||
* @return [Editor]
|
||||
*/
|
||||
@PublishedApi
|
||||
internal fun putPrefsData(key: String, value: Any?) = when (value) {
|
||||
is String -> putString(key, value)
|
||||
is Set<*> -> putStringSet(key, value as? Set<String> ?: error("Key-Value type ${value.javaClass.name} is not allowed"))
|
||||
is Int -> putInt(key, value)
|
||||
is Float -> putFloat(key, value)
|
||||
is Long -> putLong(key, value)
|
||||
is Boolean -> putBoolean(key, value)
|
||||
else -> error("Key-Value type ${value?.javaClass?.name} is not allowed")
|
||||
}
|
||||
fun edit() = Editor()
|
||||
|
||||
/**
|
||||
* 创建新的 [Editor]
|
||||
*
|
||||
* 自动调用 [Editor.apply] 方法
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
* @param initiate 方法体
|
||||
*/
|
||||
fun edit(initiate: Editor.() -> Unit = {}) = edit().apply(initiate).apply()
|
||||
|
||||
/**
|
||||
* 清除 [XSharedPreferences] 中缓存的键值数据
|
||||
@@ -638,13 +610,170 @@ class YukiHookModulePrefs private constructor(private var context: Context? = nu
|
||||
}
|
||||
|
||||
/**
|
||||
* 仅在模块环境执行
|
||||
* [YukiHookModulePrefs] 的存储代理类
|
||||
*
|
||||
* 非模块环境使用会打印警告信息
|
||||
* @param callback 在模块环境执行
|
||||
* - ❗请使用 [edit] 方法来获取 [Editor]
|
||||
*
|
||||
* - 在模块环境中使用
|
||||
*
|
||||
* - ❗在 (Xposed) 宿主环境下只读 - 无法使用
|
||||
*/
|
||||
private inline fun moduleEnvironment(callback: () -> Unit) {
|
||||
if (isXposedEnvironment.not()) callback()
|
||||
else yLoggerW(msg = "YukiHookModulePrefs write operation not allowed in Xposed Environment")
|
||||
inner class Editor internal constructor() {
|
||||
|
||||
/** 创建新的存储代理类 */
|
||||
private var editor = runCatching { sPrefs.edit() }.getOrNull()
|
||||
|
||||
/**
|
||||
* 移除全部包含 [key] 的存储数据
|
||||
* @param key 键值名称
|
||||
* @return [Editor]
|
||||
*/
|
||||
fun remove(key: String) = moduleEnvironment {
|
||||
editor?.remove(key)
|
||||
makeWorldReadable()
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除 [PrefsData.key] 的存储数据
|
||||
* @param prefs 键值实例
|
||||
* @return [Editor]
|
||||
*/
|
||||
inline fun <reified T> remove(prefs: PrefsData<T>) = remove(prefs.key)
|
||||
|
||||
/**
|
||||
* 移除全部存储数据
|
||||
* @return [Editor]
|
||||
*/
|
||||
fun clear() = moduleEnvironment {
|
||||
editor?.clear()
|
||||
makeWorldReadable()
|
||||
}
|
||||
|
||||
/**
|
||||
* 存储 [String] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
* @return [Editor]
|
||||
*/
|
||||
fun putString(key: String, value: String) = moduleEnvironment {
|
||||
editor?.putString(key, value)
|
||||
makeWorldReadable()
|
||||
}
|
||||
|
||||
/**
|
||||
* 存储 [Set]<[String]> 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
* @return [Editor]
|
||||
*/
|
||||
fun putStringSet(key: String, value: Set<String>) = moduleEnvironment {
|
||||
editor?.putStringSet(key, value)
|
||||
makeWorldReadable()
|
||||
}
|
||||
|
||||
/**
|
||||
* 存储 [Boolean] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
* @return [Editor]
|
||||
*/
|
||||
fun putBoolean(key: String, value: Boolean) = moduleEnvironment {
|
||||
editor?.putBoolean(key, value)
|
||||
makeWorldReadable()
|
||||
}
|
||||
|
||||
/**
|
||||
* 存储 [Int] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
* @return [Editor]
|
||||
*/
|
||||
fun putInt(key: String, value: Int) = moduleEnvironment {
|
||||
editor?.putInt(key, value)
|
||||
makeWorldReadable()
|
||||
}
|
||||
|
||||
/**
|
||||
* 存储 [Float] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
* @return [Editor]
|
||||
*/
|
||||
fun putFloat(key: String, value: Float) = moduleEnvironment {
|
||||
editor?.putFloat(key, value)
|
||||
makeWorldReadable()
|
||||
}
|
||||
|
||||
/**
|
||||
* 存储 [Long] 键值
|
||||
*
|
||||
* - 建议使用 [PrefsData] 创建模板并使用 [put] 存储数据
|
||||
* @param key 键值名称
|
||||
* @param value 键值数据
|
||||
* @return [Editor]
|
||||
*/
|
||||
fun putLong(key: String, value: Long) = moduleEnvironment {
|
||||
editor?.putLong(key, value)
|
||||
makeWorldReadable()
|
||||
}
|
||||
|
||||
/**
|
||||
* 智能存储指定类型的键值
|
||||
* @param prefs 键值实例
|
||||
* @param value 要存储的值 - 只能是 [String]、[Set]<[String]>、[Int]、[Float]、[Long]、[Boolean]
|
||||
* @return [Editor]
|
||||
*/
|
||||
inline fun <reified T> put(prefs: PrefsData<T>, value: T) = putPrefsData(prefs.key, value)
|
||||
|
||||
/**
|
||||
* 智能存储指定类型的键值
|
||||
*
|
||||
* 封装方法以调用内联方法
|
||||
* @param key 键值
|
||||
* @param value 要存储的值 - 只能是 [String]、[Set]<[String]>、[Int]、[Float]、[Long]、[Boolean]
|
||||
* @return [Editor]
|
||||
*/
|
||||
@PublishedApi
|
||||
internal fun putPrefsData(key: String, value: Any?) = when (value) {
|
||||
is String -> putString(key, value)
|
||||
is Set<*> -> putStringSet(key, value as? Set<String> ?: error("Key-Value type ${value.javaClass.name} is not allowed"))
|
||||
is Int -> putInt(key, value)
|
||||
is Float -> putFloat(key, value)
|
||||
is Long -> putLong(key, value)
|
||||
is Boolean -> putBoolean(key, value)
|
||||
else -> error("Key-Value type ${value?.javaClass?.name} is not allowed")
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交更改 (同步)
|
||||
* @return [Boolean] 是否成功
|
||||
*/
|
||||
fun commit() = editor?.commit()?.also { makeWorldReadable() } ?: false
|
||||
|
||||
/** 提交更改 (异步) */
|
||||
fun apply() = editor?.apply().also { makeWorldReadable() } ?: Unit
|
||||
|
||||
/**
|
||||
* 仅在模块环境执行
|
||||
*
|
||||
* 非模块环境使用会打印警告信息
|
||||
* @param callback 在模块环境执行
|
||||
* @return [Editor]
|
||||
*/
|
||||
private inline fun moduleEnvironment(callback: () -> Unit): Editor {
|
||||
if (isXposedEnvironment.not()) callback()
|
||||
else yLoggerW(msg = "YukiHookModulePrefs.Editor not allowed in Xposed Environment")
|
||||
return this
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user