From 3ccde65af624206e17620d93e2f9e385c30d4cc5 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Fri, 21 Apr 2023 02:15:11 +0800 Subject: [PATCH] Added enable or disable prefs cache function --- .../fankes/coloros/notify/data/ConfigData.kt | 16 ++++++++ .../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/coloros/notify/data/ConfigData.kt b/app/src/main/java/com/fankes/coloros/notify/data/ConfigData.kt index 8049d99..8baf21a 100644 --- a/app/src/main/java/com/fankes/coloros/notify/data/ConfigData.kt +++ b/app/src/main/java/com/fankes/coloros/notify/data/ConfigData.kt @@ -27,6 +27,7 @@ package com.fankes.coloros.notify.data import android.content.Context import com.fankes.coloros.notify.const.IconRuleSourceSyncType import com.fankes.coloros.notify.utils.factory.isUpperOfAndroidS +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 @@ -40,6 +41,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) @@ -113,6 +117,8 @@ object ConfigData { is Context, is PackageParam -> this.instance = instance else -> error("Unknown type for init ConfigData") } + /** 设置是否启用数据缓存 */ + YukiHookAPI.Configs.isEnablePrefsBridgeCache = isEnablePrefsCache } /** @@ -197,6 +203,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/coloros/notify/ui/activity/MainActivity.kt b/app/src/main/java/com/fankes/coloros/notify/ui/activity/MainActivity.kt index 783473b..067461c 100644 --- a/app/src/main/java/com/fankes/coloros/notify/ui/activity/MainActivity.kt +++ b/app/src/main/java/com/fankes/coloros/notify/ui/activity/MainActivity.kt @@ -130,6 +130,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.notifyIconConfigItem.isVisible = it binding.devNotifyConfigItem.isVisible = it @@ -141,6 +144,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 743d659..bcbe2a3 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" /> + + + + + +