Update AppConfig.kt
This commit is contained in:
1 parent
35f1237c6b
commit
1b028cbef5
1 file changed
+16
-3
@@ -20,6 +20,9 @@ import io.legado.app.utils.removePref
|
|||||||
import io.legado.app.utils.sysConfiguration
|
import io.legado.app.utils.sysConfiguration
|
||||||
import io.legado.app.utils.toastOnUi
|
import io.legado.app.utils.toastOnUi
|
||||||
import splitties.init.appCtx
|
import splitties.init.appCtx
|
||||||
|
// 【新增引用】为了文件操作
|
||||||
|
import java.io.File
|
||||||
|
import io.legado.app.utils.FileUtils
|
||||||
|
|
||||||
@Suppress("MemberVisibilityCanBePrivate", "ConstPropertyName")
|
@Suppress("MemberVisibilityCanBePrivate", "ConstPropertyName")
|
||||||
object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
@@ -976,16 +979,13 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
|||||||
// ================= 自定义功能区域 Start =================
|
// ================= 自定义功能区域 Start =================
|
||||||
|
|
||||||
// 1. 听书预加载数量
|
// 1. 听书预加载数量
|
||||||
// 逻辑:从设置里读取字符串,转成数字。如果读不到,默认返回 10。
|
|
||||||
val audioPreDownloadNum: Int
|
val audioPreDownloadNum: Int
|
||||||
get() {
|
get() {
|
||||||
// 注意:EditTextPreference 保存的是 String
|
|
||||||
val str = appCtx.getPrefString("audioPreDownloadNum")
|
val str = appCtx.getPrefString("audioPreDownloadNum")
|
||||||
return str?.toIntOrNull() ?: 10
|
return str?.toIntOrNull() ?: 10
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. 音频缓存保留时间 (返回毫秒)
|
// 2. 音频缓存保留时间 (返回毫秒)
|
||||||
// 逻辑:用户输入的是“分钟”,我们在这里把它乘以 60000 变成“毫秒”。
|
|
||||||
val audioCacheCleanTime: Long
|
val audioCacheCleanTime: Long
|
||||||
get() {
|
get() {
|
||||||
val str = appCtx.getPrefString("audioCacheCleanTime")
|
val str = appCtx.getPrefString("audioCacheCleanTime")
|
||||||
@@ -993,6 +993,19 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
|||||||
return minutes * 60 * 1000L
|
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 =================
|
// ================= 自定义功能区域 End =================
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user