From 49f18ef8c3c53167d85d3a586a3180ec17995f30 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Fri, 21 Apr 2023 02:15:08 +0800 Subject: [PATCH] Added enable or disable prefs cache function --- .../com/fankes/miui/notify/data/ConfigData.kt | 16 ++++++++ .../miui/notify/ui/activity/MainActivity.kt | 6 +++ app/src/main/res/layout/activity_main.xml | 40 ++++++++++++++++++- 3 files changed, 61 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fankes/miui/notify/data/ConfigData.kt b/app/src/main/java/com/fankes/miui/notify/data/ConfigData.kt index 0a7ed80..a9bc130 100644 --- a/app/src/main/java/com/fankes/miui/notify/data/ConfigData.kt +++ b/app/src/main/java/com/fankes/miui/notify/data/ConfigData.kt @@ -26,6 +26,7 @@ package com.fankes.miui.notify.data import android.content.Context import com.fankes.miui.notify.const.IconRuleSourceSyncType +import com.highcapable.yukihookapi.YukiHookAPI import com.highcapable.yukihookapi.hook.factory.prefs import com.highcapable.yukihookapi.hook.log.loggerW import com.highcapable.yukihookapi.hook.param.PackageParam @@ -39,6 +40,9 @@ object ConfigData { /** 启用模块 */ val ENABLE_MODULE = PrefsData("_enable_module", true) + /** 启用数据缓存 */ + val ENABLE_PREFS_CACHE = PrefsData("_enable_prefs_cache", true) + /** 启用模块日志 */ val ENABLE_MODULE_LOG = PrefsData("_enable_module_log", false) @@ -106,6 +110,8 @@ object ConfigData { is Context, is PackageParam -> this.instance = instance else -> error("Unknown type for init ConfigData") } + /** 设置是否启用数据缓存 */ + YukiHookAPI.Configs.isEnablePrefsBridgeCache = isEnablePrefsCache } /** @@ -190,6 +196,16 @@ object ConfigData { putBoolean(ENABLE_MODULE, value) } + /** + * 是否启用数据缓存 + * @return [Boolean] + */ + var isEnablePrefsCache + get() = getBoolean(ENABLE_PREFS_CACHE) + set(value) { + putBoolean(ENABLE_PREFS_CACHE, value) + } + /** * 是否启用模块日志 * @return [Boolean] diff --git a/app/src/main/java/com/fankes/miui/notify/ui/activity/MainActivity.kt b/app/src/main/java/com/fankes/miui/notify/ui/activity/MainActivity.kt index f316bbc..45886df 100644 --- a/app/src/main/java/com/fankes/miui/notify/ui/activity/MainActivity.kt +++ b/app/src/main/java/com/fankes/miui/notify/ui/activity/MainActivity.kt @@ -164,6 +164,9 @@ class MainActivity : BaseActivity() { binding.moduleEnableSwitch.bind(ConfigData.ENABLE_MODULE) { onInitialize { binding.moduleEnableLogSwitch.isVisible = it + binding.moduleEnableLogText.isVisible = it + binding.modulePrefsCacheEnableSwitch.isVisible = it + binding.modulePrefsCacheEnableText.isVisible = it binding.expAllDebugLogButton.isVisible = it && ConfigData.isEnableModuleLog binding.colorIconHookItem.isVisible = it binding.statusIconCountItem.isVisible = isLowerAndroidR.not() && it @@ -176,6 +179,9 @@ class MainActivity : BaseActivity() { SystemUITool.showNeedRestartSnake(context = this@MainActivity) } } + binding.modulePrefsCacheEnableSwitch.bind(ConfigData.ENABLE_PREFS_CACHE) { + onChanged { SystemUITool.showNeedRestartSnake(context = this@MainActivity) } + } binding.moduleEnableLogSwitch.bind(ConfigData.ENABLE_MODULE_LOG) { onInitialize { binding.expAllDebugLogButton.isVisible = it && ConfigData.isEnableModule } onChanged { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 5dac880..ddf930e 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -253,10 +253,47 @@ android:layout_marginLeft="15dp" android:layout_marginTop="5dp" android:layout_marginRight="15dp" + android:layout_marginBottom="5dp" android:text="启用模块" android:textColor="@color/colorTextGray" android:textSize="15sp" /> + + + + + +