import{_ as p,r as l,o as c,c as t,b as o,d as a,a as n,e as s}from"./app.65ee8e4f.js";const r={},d=n(`
class YukiHookPrefsBridge private constructor(private var context: Context?)
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
v1.1.9
\u4FEE\u6539
\u66F4\u540D\u4E3A YukiHookModulePrefs
YukiHookPrefsBridge
\u529F\u80FD\u63CF\u8FF0
YukiHookAPI
\u5BF9SharedPreferences
\u3001XSharedPreferences
\u7684\u6269\u5C55\u5B58\u50A8\u6865\u5B9E\u73B0\u3002
\u5728\u4E0D\u540C\u73AF\u5883\u667A\u80FD\u9009\u62E9\u5B58\u53D6\u4F7F\u7528\u7684\u5BF9\u8C61\u3002
\u7279\u522B\u6CE8\u610F
\u6A21\u5757\u4E0E\u5BBF\u4E3B\u4E4B\u524D\u5171\u4EAB\u6570\u636E\u5B58\u50A8\u4E3A\u5B9E\u9A8C\u6027\u529F\u80FD\uFF0C\u4EC5\u5728 LSPosed \u73AF\u5883\u6D4B\u8BD5\u901A\u8FC7\uFF0CEdXposed \u7406\u8BBA\u4E5F\u53EF\u4EE5\u4F7F\u7528\u4F46\u4E0D\u518D\u63A8\u8350\u3002
\u4F7F\u7528 LSPosed \u73AF\u5883\u8BF7\u5728 AndroidManifests.xml
\u4E2D\u5C06 xposedminversion
\u6700\u4F4E\u8BBE\u7F6E\u4E3A 93
\u3002
\u5BF9\u4E8E\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u4F7F\u7528 PreferenceFragmentCompat
\uFF0CYukiHookAPI
\u63D0\u4F9B\u4E86 ModulePreferenceFragment
\u6765\u5B9E\u73B0\u540C\u6837\u7684\u529F\u80FD\u3002
\u53EF\u9009\u914D\u7F6E
\u82E5\u4F60\u4E0D\u60F3\u5C06\u4F60\u7684\u6A21\u5757\u7684 xposedminversion
\u6700\u4F4E\u8BBE\u7F6E\u4E3A 93
\uFF0C\u4F60\u53EF\u4EE5\u5728 AndroidManifest.xml
\u4E2D\u6DFB\u52A0 xposedsharedprefs
\u6765\u5B9E\u73B0\u652F\u6301\u3002
\u793A\u4F8B\u5982\u4E0B
<meta-data
android:name="xposedsharedprefs"
android:value="true"/>
\u53D8\u66F4\u8BB0\u5F55
v1.0.90
\u65B0\u589E
v1.1.5
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 isPreferencesAvailable
\u53D8\u66F4\u8BB0\u5F55
v1.0.78
\u65B0\u589E
v1.1.5
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 isPreferencesAvailable
val isPreferencesAvailable: Boolean
\u53D8\u66F4\u8BB0\u5F55
v1.1.5
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u83B7\u53D6\u5F53\u524D
YukiHookPrefsBridge
\u7684\u53EF\u7528\u72B6\u6001\u3002
\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u8FD4\u56DE XSharedPreferences
\u53EF\u7528\u72B6\u6001 (\u53EF\u8BFB)\u3002
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u8FD4\u56DE\u5F53\u524D\u662F\u5426\u5904\u4E8E New XSharedPreferences \u6A21\u5F0F (\u53EF\u8BFB\u53EF\u5199)\u3002
fun name(name: String): YukiHookPrefsBridge
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
\u529F\u80FD\u63CF\u8FF0
\u81EA\u5B9A\u4E49 Sp \u5B58\u50A8\u540D\u79F0\u3002
\u529F\u80FD\u793A\u4F8B
\u5728 Activity
\u4E2D\u7684\u4F7F\u7528\u65B9\u6CD5\u3002
\u793A\u4F8B\u5982\u4E0B
prefs("custom_name").getString("custom_key")
\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883 PackageParam
\u4E2D\u7684\u4F7F\u7528\u65B9\u6CD5\u3002
\u793A\u4F8B\u5982\u4E0B
prefs("custom_name").getString("custom_key")
\u53D8\u66F4\u8BB0\u5F55
v1.0.5
\u65B0\u589E
v1.1.11
\u4F5C\u5E9F
\u952E\u503C\u7684\u76F4\u63A5\u7F13\u5B58\u529F\u80FD\u5DF2\u88AB\u79FB\u9664\uFF0C\u56E0\u4E3A\u5176\u5B58\u5728\u5185\u5B58\u6EA2\u51FA (OOM) \u95EE\u9898
fun native(): YukiHookPrefsBridge
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u5FFD\u7565\u5F53\u524D\u73AF\u5883\u76F4\u63A5\u4F7F\u7528
Context.getSharedPreferences
\u5B58\u53D6\u6570\u636E\u3002
fun getString(key: String, value: String): String
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
\u529F\u80FD\u63CF\u8FF0
\u83B7\u53D6
String
\u952E\u503C\u3002
fun getStringSet(key: String, value: Set<String>): Set<String>
\u53D8\u66F4\u8BB0\u5F55
v1.0.77
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u83B7\u53D6
Set<String>
\u952E\u503C\u3002
fun getBoolean(key: String, value: Boolean): Boolean
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
\u529F\u80FD\u63CF\u8FF0
\u83B7\u53D6
Boolean
\u952E\u503C\u3002
fun getInt(key: String, value: Int): Int
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
\u529F\u80FD\u63CF\u8FF0
\u83B7\u53D6
Int
\u952E\u503C\u3002
fun getLong(key: String, value: Long): Long
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
\u529F\u80FD\u63CF\u8FF0
\u83B7\u53D6
Long
\u952E\u503C\u3002
fun getFloat(key: String, value: Float): Float
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
\u529F\u80FD\u63CF\u8FF0
\u83B7\u53D6
Float
\u952E\u503C\u3002
fun contains(key: String): Boolean
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u5224\u65AD\u5F53\u524D\u662F\u5426\u5305\u542B
key
\u952E\u503C\u7684\u6570\u636E\u3002
\u667A\u80FD\u8BC6\u522B\u5BF9\u5E94\u73AF\u5883\u8BFB\u53D6\u952E\u503C\u6570\u636E\u3002
fun all(): HashMap<String, Any?>
\u53D8\u66F4\u8BB0\u5F55
v1.0.77
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u83B7\u53D6\u5168\u90E8\u5B58\u50A8\u7684\u952E\u503C\u6570\u636E\u3002
\u667A\u80FD\u8BC6\u522B\u5BF9\u5E94\u73AF\u5883\u8BFB\u53D6\u952E\u503C\u6570\u636E\u3002
\u7279\u522B\u6CE8\u610F
\u6BCF\u6B21\u8C03\u7528\u90FD\u4F1A\u83B7\u53D6\u5B9E\u65F6\u7684\u6570\u636E\uFF0C\u4E0D\u53D7\u7F13\u5B58\u63A7\u5236\uFF0C\u8BF7\u52FF\u5728\u9AD8\u5E76\u53D1\u573A\u666F\u4E2D\u4F7F\u7528\u3002
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
v1.1.9
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 edit
\u65B9\u6CD5
\u53D8\u66F4\u8BB0\u5F55
v1.0.77
\u65B0\u589E
v1.1.9
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 edit
\u65B9\u6CD5
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
v1.1.9
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 edit
\u65B9\u6CD5
\u53D8\u66F4\u8BB0\u5F55
v1.0.77
\u65B0\u589E
v1.1.9
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 edit
\u65B9\u6CD5
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
v1.1.9
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 edit
\u65B9\u6CD5
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
v1.1.9
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 edit
\u65B9\u6CD5
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
v1.1.9
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 edit
\u65B9\u6CD5
\u53D8\u66F4\u8BB0\u5F55
v1.0
\u6DFB\u52A0
v1.1.9
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 edit
\u65B9\u6CD5
inline fun <reified T> get(prefs: PrefsData<T>, value: T): T
\u53D8\u66F4\u8BB0\u5F55
v1.0.67
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u667A\u80FD\u83B7\u53D6\u6307\u5B9A\u7C7B\u578B\u7684\u952E\u503C\u3002
\u53D8\u66F4\u8BB0\u5F55
v1.0.67
\u65B0\u589E
v1.1.9
\u4F5C\u5E9F
\u8BF7\u8F6C\u79FB\u5230 edit
\u65B9\u6CD5
fun edit(): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u521B\u5EFA\u65B0\u7684
Editor
\u3002
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u6216\u542F\u7528\u4E86 isUsingNativeStorage
\u540E\u4F7F\u7528\u3002
\u6CE8\u610F
\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E0B\u53EA\u8BFB\uFF0C\u65E0\u6CD5\u4F7F\u7528\u3002
fun edit(initiate: Editor.() -> Unit)
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u521B\u5EFA\u65B0\u7684
Editor
\u3002
\u81EA\u52A8\u8C03\u7528 Editor.apply
\u65B9\u6CD5\u3002
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u6216\u542F\u7528\u4E86 isUsingNativeStorage
\u540E\u4F7F\u7528\u3002
\u6CE8\u610F
\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E0B\u53EA\u8BFB\uFF0C\u65E0\u6CD5\u4F7F\u7528\u3002
\u53D8\u66F4\u8BB0\u5F55
v1.0.5
\u65B0\u589E
v1.1.11
\u4F5C\u5E9F
\u952E\u503C\u7684\u76F4\u63A5\u7F13\u5B58\u529F\u80FD\u5DF2\u88AB\u79FB\u9664\uFF0C\u56E0\u4E3A\u5176\u5B58\u5728\u5185\u5B58\u6EA2\u51FA (OOM) \u95EE\u9898
inner class Editor internal constructor()
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
YukiHookPrefsBridge
\u7684\u5B58\u50A8\u4EE3\u7406\u7C7B\u3002
\u8BF7\u4F7F\u7528 edit
\u65B9\u6CD5\u6765\u83B7\u53D6 Editor
\u3002
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u6216\u542F\u7528\u4E86 isUsingNativeStorage
\u540E\u4F7F\u7528\u3002
\u6CE8\u610F
\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E0B\u53EA\u8BFB\uFF0C\u65E0\u6CD5\u4F7F\u7528\u3002
fun remove(key: String): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u79FB\u9664\u5168\u90E8\u5305\u542B
key
\u7684\u5B58\u50A8\u6570\u636E\u3002
inline fun <reified T> remove(prefs: PrefsData<T>): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u79FB\u9664
PrefsData.key
\u7684\u5B58\u50A8\u6570\u636E\u3002
fun clear(): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u79FB\u9664\u5168\u90E8\u5B58\u50A8\u6570\u636E\u3002
fun putString(key: String, value: String): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u5B58\u50A8
String
\u952E\u503C\u3002
fun putStringSet(key: String, value: Set<String>): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u5B58\u50A8
Set<String>
\u952E\u503C\u3002
fun putBoolean(key: String, value: Boolean): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u5B58\u50A8
Boolean
\u952E\u503C\u3002
fun putInt(key: String, value: Int): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u5B58\u50A8
Int
\u952E\u503C\u3002
fun putLong(key: String, value: Long): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u5B58\u50A8
Long
\u952E\u503C\u3002
fun putFloat(key: String, value: Float): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u5B58\u50A8
Float
\u952E\u503C\u3002
inline fun <reified T> put(prefs: PrefsData<T>, value: T): Editor
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u667A\u80FD\u5B58\u50A8\u6307\u5B9A\u7C7B\u578B\u7684\u952E\u503C\u3002
fun commit(): Boolean
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
\u63D0\u4EA4\u66F4\u6539 (\u540C\u6B65)\u3002
fun apply()
\u53D8\u66F4\u8BB0\u5F55
v1.1.9
\u65B0\u589E
\u529F\u80FD\u63CF\u8FF0
`,249);function q(S,_){const e=l("ExternalLinkIcon");return c(),t("div",null,[d,o("p",null,[i,o("a",y,[g,a(e)]),h]),A,B,o("p",null,[u,o("a",D,[F,a(e)]),C]),k,o("p",null,[m,o("a",v,[b,a(e)]),f]),x])}const E=p(r,[["render",q],["__file","YukiHookPrefsBridge.html.vue"]]);export{E as default};\u63D0\u4EA4\u66F4\u6539 (\u5F02\u6B65)\u3002