[新增] 清理TTS缓存(@Luoyacheng)
This commit is contained in:
2 files changed
+22
No files matched your search
@@ -31,6 +31,7 @@ import io.legado.app.ui.association.ImportHttpTtsDialog
|
|||||||
import io.legado.app.ui.file.HandleFileContract
|
import io.legado.app.ui.file.HandleFileContract
|
||||||
import io.legado.app.ui.login.SourceLoginActivity
|
import io.legado.app.ui.login.SourceLoginActivity
|
||||||
import io.legado.app.utils.ACache
|
import io.legado.app.utils.ACache
|
||||||
|
import io.legado.app.utils.FileUtils
|
||||||
import io.legado.app.utils.GSON
|
import io.legado.app.utils.GSON
|
||||||
import io.legado.app.utils.fromJsonObject
|
import io.legado.app.utils.fromJsonObject
|
||||||
import io.legado.app.utils.gone
|
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.showDialogFragment
|
||||||
import io.legado.app.utils.splitNotBlank
|
import io.legado.app.utils.splitNotBlank
|
||||||
import io.legado.app.utils.startActivity
|
import io.legado.app.utils.startActivity
|
||||||
|
import io.legado.app.utils.toastOnUi
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
import io.legado.app.utils.visible
|
import io.legado.app.utils.visible
|
||||||
import kotlinx.coroutines.Dispatchers.IO
|
import kotlinx.coroutines.Dispatchers.IO
|
||||||
@@ -47,6 +49,7 @@ import kotlinx.coroutines.flow.catch
|
|||||||
import kotlinx.coroutines.flow.conflate
|
import kotlinx.coroutines.flow.conflate
|
||||||
import kotlinx.coroutines.flow.flowOn
|
import kotlinx.coroutines.flow.flowOn
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tts引擎管理
|
* tts引擎管理
|
||||||
@@ -175,6 +178,7 @@ class SpeakEngineDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_recycl
|
|||||||
|
|
||||||
override fun onMenuItemClick(item: MenuItem?): Boolean {
|
override fun onMenuItemClick(item: MenuItem?): Boolean {
|
||||||
when (item?.itemId) {
|
when (item?.itemId) {
|
||||||
|
R.id.menu_clear -> clearCache()
|
||||||
R.id.menu_add -> showDialogFragment<HttpTtsEditDialog>()
|
R.id.menu_add -> showDialogFragment<HttpTtsEditDialog>()
|
||||||
R.id.menu_default -> viewModel.importDefault()
|
R.id.menu_default -> viewModel.importDefault()
|
||||||
R.id.menu_import_local -> importDocResult.launch {
|
R.id.menu_import_local -> importDocResult.launch {
|
||||||
@@ -232,6 +236,18 @@ class SpeakEngineDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_recycl
|
|||||||
adapter.notifyItemRangeChanged(adapter.getHeaderCount(), adapter.itemCount)
|
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) :
|
inner class Adapter(context: Context) :
|
||||||
RecyclerAdapter<HttpTTS, ItemHttpTtsBinding>(context) {
|
RecyclerAdapter<HttpTTS, ItemHttpTtsBinding>(context) {
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,12 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/menu_clear"
|
||||||
|
android:title="@string/clear"
|
||||||
|
android:icon="@drawable/ic_clear_all"
|
||||||
|
app:showAsAction="always" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_add"
|
android:id="@+id/menu_add"
|
||||||
android:icon="@drawable/ic_add"
|
android:icon="@drawable/ic_add"
|
||||||
|
|||||||
Reference in new issue
Block a user