fix: Set max bitmap size for covers

This commit is contained in:
Ahmad Ansori Palembani 2024-12-04 05:24:45 +07:00
parent b4c6820ca4
commit 6df9e4f745
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6

View file

@ -6,7 +6,9 @@ import coil3.ImageLoader
import coil3.imageLoader import coil3.imageLoader
import coil3.request.Disposable import coil3.request.Disposable
import coil3.request.ImageRequest import coil3.request.ImageRequest
import coil3.request.maxBitmapSize
import coil3.size.Precision import coil3.size.Precision
import coil3.size.Size
import coil3.size.SizeResolver import coil3.size.SizeResolver
import coil3.target.ImageViewTarget import coil3.target.ImageViewTarget
import eu.kanade.tachiyomi.data.coil.CoverViewTarget import eu.kanade.tachiyomi.data.coil.CoverViewTarget
@ -15,6 +17,8 @@ import eu.kanade.tachiyomi.domain.manga.models.Manga
import yokai.domain.manga.models.MangaCover import yokai.domain.manga.models.MangaCover
import yokai.domain.manga.models.cover import yokai.domain.manga.models.cover
private const val MAX_BITMAP_SIZE = 2048
fun ImageView.loadManga( fun ImageView.loadManga(
manga: Manga, manga: Manga,
imageLoader: ImageLoader = context.imageLoader, imageLoader: ImageLoader = context.imageLoader,
@ -25,6 +29,7 @@ fun ImageView.loadManga(
.target(LibraryMangaImageTarget(this, manga)) .target(LibraryMangaImageTarget(this, manga))
.precision(Precision.INEXACT) .precision(Precision.INEXACT)
.size(SizeResolver.ORIGINAL) .size(SizeResolver.ORIGINAL)
.maxBitmapSize(Size(MAX_BITMAP_SIZE, MAX_BITMAP_SIZE))
.apply(builder) .apply(builder)
.build() .build()
return imageLoader.enqueue(request) return imageLoader.enqueue(request)
@ -44,6 +49,7 @@ fun ImageView.loadManga(
.target(target ?: CoverViewTarget(this, progress)) .target(target ?: CoverViewTarget(this, progress))
.precision(Precision.INEXACT) .precision(Precision.INEXACT)
.size(SizeResolver.ORIGINAL) .size(SizeResolver.ORIGINAL)
.maxBitmapSize(Size(MAX_BITMAP_SIZE, MAX_BITMAP_SIZE))
.apply(builder) .apply(builder)
.build() .build()
return imageLoader.enqueue(request) return imageLoader.enqueue(request)