kunfei 4 лет назад
Родитель
Сommit
f241453829
1 измененных файлов с 15 добавлено и 11 удалено
  1. 15 11
      app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt

+ 15 - 11
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.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)
-        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
     }
     }
 
 
     /**
     /**