[新增] 清理TTS缓存(@Luoyacheng)
This commit is contained in:
@@ -31,6 +31,7 @@ import io.legado.app.ui.association.ImportHttpTtsDialog
|
||||
import io.legado.app.ui.file.HandleFileContract
|
||||
import io.legado.app.ui.login.SourceLoginActivity
|
||||
import io.legado.app.utils.ACache
|
||||
import io.legado.app.utils.FileUtils
|
||||
import io.legado.app.utils.GSON
|
||||
import io.legado.app.utils.fromJsonObject
|
||||
import io.legado.app.utils.gone
|
||||
@@ -40,6 +41,7 @@ import io.legado.app.utils.sendToClip
|
||||
import io.legado.app.utils.showDialogFragment
|
||||
import io.legado.app.utils.splitNotBlank
|
||||
import io.legado.app.utils.startActivity
|
||||
import io.legado.app.utils.toastOnUi
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import io.legado.app.utils.visible
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
@@ -47,6 +49,7 @@ import kotlinx.coroutines.flow.catch
|
||||
import kotlinx.coroutines.flow.conflate
|
||||
import kotlinx.coroutines.flow.flowOn
|
||||
import kotlinx.coroutines.launch
|
||||
import java.io.File
|
||||
|
||||
/**
|
||||
* tts引擎管理
|
||||
@@ -175,6 +178,7 @@ class SpeakEngineDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_recycl
|
||||
|
||||
override fun onMenuItemClick(item: MenuItem?): Boolean {
|
||||
when (item?.itemId) {
|
||||
R.id.menu_clear -> clearCache()
|
||||
R.id.menu_add -> showDialogFragment<HttpTtsEditDialog>()
|
||||
R.id.menu_default -> viewModel.importDefault()
|
||||
R.id.menu_import_local -> importDocResult.launch {
|
||||
@@ -232,6 +236,18 @@ class SpeakEngineDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_recycl
|
||||
adapter.notifyItemRangeChanged(adapter.getHeaderCount(), adapter.itemCount)
|
||||
}
|
||||
|
||||
fun clearCache() {
|
||||
execute {
|
||||
ReadAloud.upReadAloudClass()
|
||||
val ttsFolderPath = "${requireContext().cacheDir.absolutePath}${File.separator}httpTTS${File.separator}"
|
||||
FileUtils.listDirsAndFiles(ttsFolderPath)?.forEach {
|
||||
FileUtils.delete(it.absolutePath)
|
||||
}
|
||||
toastOnUi(R.string.clear_cache_success)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
inner class Adapter(context: Context) :
|
||||
RecyclerAdapter<HttpTTS, ItemHttpTtsBinding>(context) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user