From 312d84b5b6f7bed626bd805e905b2142852829d3 Mon Sep 17 00:00:00 2001 From: kunfei Date: Thu, 14 Apr 2022 23:32:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/book/read/page/provider/ImageProvider.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 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 cd05bed6e..e0b1f0184 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 @@ -109,21 +109,20 @@ object ImageProvider { if (cacheBitmap != null) return cacheBitmap val vFile = BookHelp.getImage(book, src) @Suppress("BlockingMethodInNonBlockingContext") - return try { + return kotlin.runCatching { val bitmap = BitmapUtils.decodeBitmap(vFile.absolutePath, width, height) ?: throw NoStackTraceException("解析图片失败") bitmapLruCache.put(src, bitmap) bitmap - } catch (e: Exception) { + }.onFailure { Coroutine.async { - putDebug("${vFile.absolutePath} 解码失败\n$e", e) + putDebug("${vFile.absolutePath} 解码失败\n$it", it) if (FileUtils.readText(vFile.absolutePath).isXml()) { putDebug("${vFile.absolutePath}为xml,自动删除") vFile.delete() } } - errorBitmap - } + }.getOrDefault(errorBitmap) } }