diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt index 27ed399914..c48950eb74 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt @@ -225,11 +225,7 @@ open class ReaderPageImageView @JvmOverloads constructor( ) val useCoilPipeline = if (isWebtoon) { - when (data) { - is BitmapDrawable -> !ImageUtil.isMaxTextureSizeExceeded(data.bitmap) - is BufferedSource -> !ImageUtil.isMaxTextureSizeExceeded(data) - else -> false - } + !ImageUtil.isMaxTextureSizeExceeded(data) } else { false } diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt index a8b092c59c..64771b2689 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt @@ -783,12 +783,25 @@ object ImageUtil { "image/jxl" to "jxl", ) - fun isMaxTextureSizeExceeded(bitmap: Bitmap): Boolean { - return maxOf(bitmap.width, bitmap.height) > GLUtil.maxTextureSize - } - - fun isMaxTextureSizeExceeded(imageSource: BufferedSource): Boolean { - val opts = extractImageOptions(imageSource) - return maxOf(opts.outWidth, opts.outHeight) > GLUtil.maxTextureSize + fun isMaxTextureSizeExceeded(data: Any): Boolean { + val width: Int + val height: Int + when (data) { + is BufferedSource -> { + val opts = extractImageOptions(data) + width = opts.outWidth + height = opts.outHeight + } + is BitmapDrawable -> { + width = data.bitmap.width + height = data.bitmap.height + } + is Bitmap -> { + width = data.width + height = data.height + } + else -> throw IllegalArgumentException("Not implemented for class ${data::class.simpleName}") + } + return maxOf(width, height) > GLUtil.maxTextureSize } }