Update AppConfig.kt
This commit is contained in:
@@ -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 =================
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user