Update AppConfig.kt

This commit is contained in:
Ktouls
2026-01-17 06:39:29 +08:00
committed by Kudomaga
parent 35f1237c6b
commit 1b028cbef5
@@ -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 =================
}