Przeglądaj źródła

Update AppConfig.kt

Ktouls 9 miesięcy temu
rodzic
commit
1b028cbef5

+ 16 - 3
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 =================
 
 }