Added enable or disable prefs cache function

This commit is contained in:
2023-04-21 02:15:08 +08:00
parent 73173cd7ab
commit 49f18ef8c3
3 changed files with 61 additions and 1 deletions

View File

@@ -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]

View File

@@ -164,6 +164,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
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<ActivityMainBinding>() {
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 {

View File

@@ -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" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="10dp"
android:alpha="0.6"
android:lineSpacingExtra="6dp"
android:text="模块关闭后一切功能都将彻底停止工作。"
android:textColor="@color/colorTextDark"
android:textSize="12sp" />
<com.fankes.miui.notify.ui.widget.MaterialSwitch
android:id="@+id/module_prefs_cache_enable_switch"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="10dp"
android:text="启用数据缓存"
android:textColor="@color/colorTextGray"
android:textSize="15sp" />
<TextView
android:id="@+id/module_prefs_cache_enable_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="5dp"
android:alpha="0.6"
android:lineSpacingExtra="6dp"
android:text="此选项默认开启,默认情况下模块会将数据缓存在内存中,防止每次重复读取数据造成卡顿,如果开启此选项后一段时间导致系统界面 (系统 UI) 崩溃 (内存溢出),你可以尝试关闭此选项,但是这有可能会造成在通知较多时下拉通知栏出现卡顿。"
android:textColor="@color/colorTextDark"
android:textSize="12sp" />
<com.fankes.miui.notify.ui.widget.MaterialSwitch
android:id="@+id/module_enable_log_switch"
android:layout_width="match_parent"
@@ -284,6 +321,7 @@
android:textSize="15sp" />
<TextView
android:id="@+id/module_enable_log_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
@@ -291,7 +329,7 @@
android:layout_marginBottom="10dp"
android:alpha="0.6"
android:lineSpacingExtra="6dp"
android:text="模块关闭后一切功能都将彻底停止工作。"
android:text="默认情况下不建议开启此选项,仅在模块故障时开启,此时你可以发送调试日志给开发者帮助我们快速定位问题。"
android:textColor="@color/colorTextDark"
android:textSize="12sp" />
</LinearLayout>