Просмотр исходного кода

Merge pull request #1860 from Xwite/master

feat:remove unnecessary code
kunfei 4 лет назад
Родитель
Сommit
1a907a297e

+ 9 - 13
app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt

@@ -14,7 +14,6 @@ import io.legado.app.help.coroutine.Coroutine
 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.withContext
 import splitties.init.appCtx
@@ -93,8 +92,10 @@ object ImageProvider {
         op.inJustDecodeBounds = true
         BitmapFactory.decodeFile(file.absolutePath, op)
         if (op.outWidth < 1 && op.outHeight < 1) {
-            putDebug("ImageProvider: delete file due to image size ${op.outHeight}*${op.outWidth}. path: ${file.absolutePath}")
-            file.delete()
+            Coroutine.async {
+                putDebug("ImageProvider: delete file due to image size ${op.outHeight}*${op.outWidth}. path: ${file.absolutePath}")
+                file.delete()
+            }
             return Size(errorBitmap.width, errorBitmap.height)
         }
         return Size(op.outWidth, op.outHeight)
@@ -112,6 +113,7 @@ object ImageProvider {
         val cacheBitmap = bitmapLruCache.get(src)
         if (cacheBitmap != null) return cacheBitmap
         val vFile = BookHelp.getImage(book, src)
+        if (!vFile.exists()) return errorBitmap
         @Suppress("BlockingMethodInNonBlockingContext")
         return kotlin.runCatching {
             val bitmap = BitmapUtils.decodeBitmap(vFile.absolutePath, width, height)
@@ -119,16 +121,10 @@ object ImageProvider {
             bitmapLruCache.put(src, bitmap)
             bitmap
         }.onFailure {
-            Coroutine.async {
-                putDebug(
-                    "ImageProvider: decode bitmap failed. path: ${vFile.absolutePath}\n$it",
-                    it
-                )
-                if (FileUtils.readText(vFile.absolutePath).isXml()) {
-                    putDebug("ImageProvider: delete xml file. path: ${vFile.absolutePath}")
-                    vFile.delete()
-                }
-            }
+            putDebug(
+                "ImageProvider: decode bitmap failed. path: ${vFile.absolutePath}\n$it",
+                it
+            )
         }.getOrDefault(errorBitmap)
     }