From 1b028cbef5823094c5c59c24742643210ee8e5ea Mon Sep 17 00:00:00 2001 From: Ktouls <75007654+Ktouls@users.noreply.github.com> Date: Fri, 16 Jan 2026 02:42:24 +0800 Subject: [PATCH] Update AppConfig.kt --- .../io/legado/app/help/config/AppConfig.kt | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/config/AppConfig.kt b/app/src/main/java/io/legado/app/help/config/AppConfig.kt index 3a5998bc9..7d332db91 100644 --- a/app/src/main/java/io/legado/app/help/config/AppConfig.kt +++ b/app/src/main/java/io/legado/app/help/config/AppConfig.kt @@ -20,6 +20,9 @@ import io.legado.app.utils.removePref import io.legado.app.utils.sysConfiguration import io.legado.app.utils.toastOnUi import splitties.init.appCtx +// 【新增引用】为了文件操作 +import java.io.File +import io.legado.app.utils.FileUtils @Suppress("MemberVisibilityCanBePrivate", "ConstPropertyName") object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { @@ -976,16 +979,13 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { // ================= 自定义功能区域 Start ================= // 1. 听书预加载数量 - // 逻辑:从设置里读取字符串,转成数字。如果读不到,默认返回 10。 val audioPreDownloadNum: Int get() { - // 注意:EditTextPreference 保存的是 String val str = appCtx.getPrefString("audioPreDownloadNum") return str?.toIntOrNull() ?: 10 } // 2. 音频缓存保留时间 (返回毫秒) - // 逻辑:用户输入的是“分钟”,我们在这里把它乘以 60000 变成“毫秒”。 val audioCacheCleanTime: Long get() { val str = appCtx.getPrefString("audioCacheCleanTime") @@ -993,6 +993,19 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { return minutes * 60 * 1000L } + /** + * 【新增】手动清理 TTS 缓存 + * 这个方法会自动寻找 externalCacheDir(外部存储),如果找不到再找内部。 + * 确保和 Service 里的逻辑保持一致。 + */ + fun clearTtsCache() { + val baseDir = appCtx.externalCacheDir ?: appCtx.cacheDir + // 清理音频文件 + FileUtils.delete(baseDir.absolutePath + File.separator + "httpTTS") + // 清理数据库索引 (可选,建议一起清,防止索引还在但文件没了) + FileUtils.delete(baseDir.absolutePath + File.separator + "httpTTS_cache") + } + // ================= 自定义功能区域 End ================= }