From 97bd73d8ce2381d711cb4072d25a572f6f0e1fb7 Mon Sep 17 00:00:00 2001 From: kunfei Date: Sat, 23 Apr 2022 16:53:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/read/page/provider/ImageProvider.kt | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt index 011a901fe..c686be995 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt @@ -15,7 +15,9 @@ import io.legado.app.model.localBook.EpubFile import io.legado.app.utils.BitmapUtils import io.legado.app.utils.FileUtils import io.legado.app.utils.isXml +import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.withContext import splitties.init.appCtx import java.io.File import java.io.FileOutputStream @@ -59,21 +61,23 @@ object ImageProvider { src: String, bookSource: BookSource? ): File { - val vFile = BookHelp.getImage(book, src) - if (!vFile.exists()) { - if (book.isEpub()) { - EpubFile.getImage(book, src)?.use { input -> - val newFile = FileUtils.createFileIfNotExist(vFile.absolutePath) - @Suppress("BlockingMethodInNonBlockingContext") - FileOutputStream(newFile).use { output -> - input.copyTo(output) + return withContext(IO) { + val vFile = BookHelp.getImage(book, src) + if (!vFile.exists()) { + if (book.isEpub()) { + EpubFile.getImage(book, src)?.use { input -> + val newFile = FileUtils.createFileIfNotExist(vFile.absolutePath) + @Suppress("BlockingMethodInNonBlockingContext") + FileOutputStream(newFile).use { output -> + input.copyTo(output) + } } + } else { + BookHelp.saveImage(bookSource, book, src) } - } else { - BookHelp.saveImage(bookSource, book, src) } + return@withContext vFile } - return vFile } /** From aa050ac6a068bb22f8e9b97b1dce165c2abd3662 Mon Sep 17 00:00:00 2001 From: kunfei Date: Sat, 23 Apr 2022 17:49:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/service/HttpReadAloudService.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt b/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt index 9c9f9fb60..0673f27d0 100644 --- a/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/HttpReadAloudService.kt @@ -25,7 +25,6 @@ import org.mozilla.javascript.WrappedException import java.io.File import java.net.ConnectException import java.net.SocketTimeoutException -import java.util.* /** * 在线朗读 @@ -269,7 +268,9 @@ class HttpReadAloudService : BaseReadAloudService(), private fun removeCacheFile() { val titleMd5 = MD5Utils.md5Encode16(textChapter?.title ?: "") FileUtils.listDirsAndFiles(ttsFolderPath)?.forEach { - if (!it.name.startsWith(titleMd5) && Date().time - it.lastModified() > 600000) { + if (!it.name.startsWith(titleMd5) + && System.currentTimeMillis() - it.lastModified() > 600000 + ) { FileUtils.delete(it.absolutePath) } }