From fd5c9e0ec4bfe2b198d0f4ace6ec88e3cdb20317 Mon Sep 17 00:00:00 2001 From: gedoor Date: Thu, 21 Oct 2021 22:11:25 +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/src/main/java/io/legado/app/model/BookCover.kt | 6 +++--- app/src/main/java/io/legado/app/utils/BitmapUtils.kt | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/BookCover.kt b/app/src/main/java/io/legado/app/model/BookCover.kt index 7503c1e82..43a3b685f 100644 --- a/app/src/main/java/io/legado/app/model/BookCover.kt +++ b/app/src/main/java/io/legado/app/model/BookCover.kt @@ -48,9 +48,9 @@ object BookCover { defaultDrawable = appCtx.resources.getDrawable(R.drawable.image_cover_default, null) return } - defaultDrawable = BitmapUtils.decodeBitmap(path, 100, 150)?.let { - BitmapDrawable(appCtx.resources, it) - } ?: appCtx.resources.getDrawable(R.drawable.image_cover_default, null) + defaultDrawable = kotlin.runCatching { + BitmapDrawable(appCtx.resources, BitmapUtils.decodeBitmap(path, 100, 150)) + }.getOrDefault(appCtx.resources.getDrawable(R.drawable.image_cover_default, null)) } fun getBlurDefaultCover(context: Context): RequestBuilder { diff --git a/app/src/main/java/io/legado/app/utils/BitmapUtils.kt b/app/src/main/java/io/legado/app/utils/BitmapUtils.kt index 05b6872ea..e0f5d7114 100644 --- a/app/src/main/java/io/legado/app/utils/BitmapUtils.kt +++ b/app/src/main/java/io/legado/app/utils/BitmapUtils.kt @@ -28,7 +28,8 @@ object BitmapUtils { * @param height 想要显示的图片的高度 * @return */ - fun decodeBitmap(path: String, width: Int, height: Int): Bitmap? { + @Throws(IOException::class) + fun decodeBitmap(path: String, width: Int, height: Int): Bitmap { val op = BitmapFactory.Options() val ips = FileInputStream(path) // inJustDecodeBounds如果设置为true,仅仅返回图片实际的宽和高,宽和高是赋值给opts.outWidth,opts.outHeight; @@ -53,7 +54,8 @@ object BitmapUtils { * @param path 图片路径 * @return */ - fun decodeBitmap(path: String): Bitmap? { + @Throws(IOException::class) + fun decodeBitmap(path: String): Bitmap { val opts = BitmapFactory.Options() val ips = FileInputStream(path) opts.inJustDecodeBounds = true