This commit is contained in:
kunfei committed 2022-04-23 16:53:50 +08:00
1 parent 730d5b3f3c
commit f241453829
1 file changed
+15 -11
@@ -15,7 +15,9 @@ import io.legado.app.model.localBook.EpubFile
import io.legado.app.utils.BitmapUtils import io.legado.app.utils.BitmapUtils
import io.legado.app.utils.FileUtils import io.legado.app.utils.FileUtils
import io.legado.app.utils.isXml import io.legado.app.utils.isXml
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import splitties.init.appCtx import splitties.init.appCtx
import java.io.File import java.io.File
import java.io.FileOutputStream import java.io.FileOutputStream
@@ -59,21 +61,23 @@ object ImageProvider {
src: String, src: String,
bookSource: BookSource? bookSource: BookSource?
): File { ): File {
val vFile = BookHelp.getImage(book, src) return withContext(IO) {
if (!vFile.exists()) { val vFile = BookHelp.getImage(book, src)
if (book.isEpub()) { if (!vFile.exists()) {
EpubFile.getImage(book, src)?.use { input -> if (book.isEpub()) {
val newFile = FileUtils.createFileIfNotExist(vFile.absolutePath) EpubFile.getImage(book, src)?.use { input ->
@Suppress("BlockingMethodInNonBlockingContext") val newFile = FileUtils.createFileIfNotExist(vFile.absolutePath)
FileOutputStream(newFile).use { output -> @Suppress("BlockingMethodInNonBlockingContext")
input.copyTo(output) FileOutputStream(newFile).use { output ->
input.copyTo(output)
}
} }
} else {
BookHelp.saveImage(bookSource, book, src)
} }
} else {
BookHelp.saveImage(bookSource, book, src)
} }
return@withContext vFile
} }
return vFile
} }
/** /**