Skip to content

Commit 332f3f7

Browse files
committed
refactor: Separate isHardwareThresholdExceeded from isMaxTextureSizeExceeded
1 parent 23db324 commit 332f3f7

File tree

3 files changed

+23
-9
lines changed

3 files changed

+23
-9
lines changed

app/src/main/java/eu/kanade/tachiyomi/data/coil/TachiyomiImageDecoder.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class TachiyomiImageDecoder(private val resources: ImageSource, private val opti
5050
if (
5151
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O &&
5252
options.bitmapConfig == Bitmap.Config.HARDWARE &&
53-
!ImageUtil.isMaxTextureSizeExceeded(bitmap)
53+
!ImageUtil.isHardwareThresholdExceeded(bitmap)
5454
) {
5555
val hwBitmap = bitmap.copy(Bitmap.Config.HARDWARE, false)
5656
if (hwBitmap != null) {

app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ open class ReaderPageImageView @JvmOverloads constructor(
234234
is BufferedSource -> {
235235
// SSIV doesn't tile bitmaps, so if the image exceeded max texture size it won't load regardless.
236236
if (!isWebtoon || ImageUtil.isMaxTextureSizeExceeded(data)) {
237-
setHardwareConfig(!ImageUtil.isMaxTextureSizeExceeded(data))
237+
setHardwareConfig(!ImageUtil.isHardwareThresholdExceeded(data))
238238
setImage(ImageSource.inputStream(data.inputStream()))
239239
isVisible = true
240240
return@apply

app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -776,20 +776,34 @@ object ImageUtil {
776776
return options
777777
}
778778

779-
fun isMaxTextureSizeExceeded(source: BufferedSource): Boolean =
780-
extractImageOptions(source).let { opts -> isMaxTextureSizeExceeded(opts.outWidth, opts.outHeight) }
779+
fun isHardwareThresholdExceeded(source: BufferedSource): Boolean = extractImageOptions(source).let { opts ->
780+
isHardwareThresholdExceeded(opts.outWidth, opts.outHeight)
781+
}
781782

782-
fun isMaxTextureSizeExceeded(drawable: BitmapDrawable): Boolean =
783-
isMaxTextureSizeExceeded(drawable.bitmap)
783+
fun isHardwareThresholdExceeded(drawable: BitmapDrawable): Boolean =
784+
isHardwareThresholdExceeded(drawable.bitmap)
784785

785-
fun isMaxTextureSizeExceeded(bitmap: Bitmap): Boolean =
786-
isMaxTextureSizeExceeded(bitmap.width, bitmap.height)
786+
fun isHardwareThresholdExceeded(bitmap: Bitmap): Boolean =
787+
isHardwareThresholdExceeded(bitmap.width, bitmap.height)
787788

788789
var hardwareBitmapThreshold: Int = GLUtil.SAFE_TEXTURE_LIMIT
789790

790-
private fun isMaxTextureSizeExceeded(width: Int, height: Int): Boolean {
791+
private fun isHardwareThresholdExceeded(width: Int, height: Int): Boolean {
791792
if (minOf(width, height) <= 0) return false
792793

793794
return maxOf(width, height) > hardwareBitmapThreshold
794795
}
796+
797+
fun isMaxTextureSizeExceeded(source: BufferedSource): Boolean = extractImageOptions(source).let { opts ->
798+
isMaxTextureSizeExceeded(opts.outWidth, opts.outHeight)
799+
}
800+
801+
fun isMaxTextureSizeExceeded(bitmap: Bitmap): Boolean =
802+
isMaxTextureSizeExceeded(bitmap.width, bitmap.height)
803+
804+
private fun isMaxTextureSizeExceeded(width: Int, height: Int): Boolean {
805+
if (minOf(width, height) <= 0) return false
806+
807+
return maxOf(width, height) > GLUtil.DEVICE_TEXTURE_LIMIT
808+
}
795809
}

0 commit comments

Comments
 (0)