From d0026426975e806c7ebe3915adf3f8ecd13415d1 Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Mon, 19 Aug 2024 20:06:54 +0700 Subject: [PATCH] chore: Convert all cover usage to use MangaCover data class --- .../eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt | 5 +++-- .../kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt | 3 ++- .../eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt | 3 ++- .../eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt | 3 ++- .../ui/migration/manga/process/MigrationProcessHolder.kt | 3 ++- .../tachiyomi/ui/source/browse/BrowseSourceGridHolder.kt | 3 ++- .../tachiyomi/ui/source/browse/BrowseSourceListHolder.kt | 3 ++- .../ui/source/globalsearch/GlobalSearchMangaHolder.kt | 3 ++- .../eu/kanade/tachiyomi/util/manga/MangaShortcutManager.kt | 3 ++- .../yokai/presentation/widget/UpdatesGridGlanceWidget.kt | 3 ++- 10 files changed, 21 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt index 8ade774836..9542d081d6 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt @@ -84,6 +84,7 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import yokai.domain.manga.interactor.GetLibraryManga import yokai.domain.manga.interactor.UpdateManga +import yokai.domain.manga.models.cover import yokai.i18n.MR import yokai.util.lang.getString @@ -275,10 +276,10 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet val request: ImageRequest = if (thumbnailUrl != manga.thumbnail_url) { // load new covers in background - ImageRequest.Builder(context).data(manga) + ImageRequest.Builder(context).data(manga.cover()) .memoryCachePolicy(CachePolicy.DISABLED).build() } else { - ImageRequest.Builder(context).data(manga) + ImageRequest.Builder(context).data(manga.cover()) .memoryCachePolicy(CachePolicy.DISABLED) .diskCachePolicy(CachePolicy.WRITE_ONLY) .build() diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt index 70ea1be727..fd878892e7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt @@ -37,6 +37,7 @@ import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import uy.kohesive.injekt.injectLazy +import yokai.domain.manga.models.cover import yokai.i18n.MR import yokai.util.lang.getString import android.R as AR @@ -191,7 +192,7 @@ class LibraryUpdateNotifier(private val context: Context) { context.notification(Notifications.CHANNEL_NEW_CHAPTERS) { setSmallIcon(R.drawable.ic_yokai) try { - val request = ImageRequest.Builder(context).data(manga) + val request = ImageRequest.Builder(context).data(manga.cover()) .networkCachePolicy(CachePolicy.DISABLED) .diskCachePolicy(CachePolicy.ENABLED) .transformations(CircleCropTransformation()) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt index 3fb256fb0c..dd29130d41 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt @@ -146,6 +146,7 @@ import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withTimeoutOrNull import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get +import yokai.domain.manga.models.cover import yokai.i18n.MR import yokai.presentation.core.Constants import yokai.util.lang.getString @@ -580,7 +581,7 @@ class MangaDetailsController : fun setPaletteColor() { val view = view ?: return - val request = ImageRequest.Builder(view.context).data(presenter.manga).allowHardware(false) + val request = ImageRequest.Builder(view.context).data(presenter.manga.cover()).allowHardware(false) .target( onSuccess = { image -> val drawable = image.asDrawable(view.context.resources) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt index c4b6a61012..fa14941eda 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt @@ -90,6 +90,7 @@ import yokai.domain.chapter.interactor.UpdateChapter import yokai.domain.library.custom.model.CustomMangaInfo import yokai.domain.manga.interactor.UpdateManga import yokai.domain.manga.models.MangaUpdate +import yokai.domain.manga.models.cover import yokai.domain.storage.StorageManager import yokai.i18n.MR import yokai.util.lang.getString @@ -397,7 +398,7 @@ class MangaDetailsPresenter( launchIO { val request = - ImageRequest.Builder(preferences.context).data(manga) + ImageRequest.Builder(preferences.context).data(manga.cover()) .memoryCachePolicy(CachePolicy.DISABLED) .diskCachePolicy(CachePolicy.WRITE_ONLY) .build() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/migration/manga/process/MigrationProcessHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/migration/manga/process/MigrationProcessHolder.kt index 4860d0a176..b8f289de8a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/migration/manga/process/MigrationProcessHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/migration/manga/process/MigrationProcessHolder.kt @@ -27,6 +27,7 @@ import eu.kanade.tachiyomi.util.view.withFadeTransaction import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import uy.kohesive.injekt.injectLazy +import yokai.domain.manga.models.cover import yokai.i18n.MR import yokai.util.lang.getString import java.text.DecimalFormat @@ -148,7 +149,7 @@ class MigrationProcessHolder( (root.layoutParams as ConstraintLayout.LayoutParams).verticalBias = 1f progress.isVisible = false - val request = ImageRequest.Builder(view.context).data(manga) + val request = ImageRequest.Builder(view.context).data(manga.cover()) .target(CoverViewTarget(coverThumbnail, progress)) .setExtras(MangaCoverFetcher.USE_CUSTOM_COVER_KEY, false) .build() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/source/browse/BrowseSourceGridHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/source/browse/BrowseSourceGridHolder.kt index a257c4eb79..229b3cdfd5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/source/browse/BrowseSourceGridHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/source/browse/BrowseSourceGridHolder.kt @@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.domain.manga.models.Manga import eu.kanade.tachiyomi.ui.library.LibraryCategoryAdapter import eu.kanade.tachiyomi.util.system.setExtras import eu.kanade.tachiyomi.util.view.setCards +import yokai.domain.manga.models.cover /** * Class used to hold the displayed data of a manga in the library, like the cover or the title. @@ -66,7 +67,7 @@ class BrowseSourceGridHolder( binding.coverThumbnail.dispose() } else { manga.id ?: return - val request = ImageRequest.Builder(view.context).data(manga) + val request = ImageRequest.Builder(view.context).data(manga.cover()) .target(CoverViewTarget(binding.coverThumbnail, binding.progress)) .setExtras(MangaCoverFetcher.USE_CUSTOM_COVER_KEY, false) .build() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/source/browse/BrowseSourceListHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/source/browse/BrowseSourceListHolder.kt index e83b491832..fb510f770d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/source/browse/BrowseSourceListHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/source/browse/BrowseSourceListHolder.kt @@ -14,6 +14,7 @@ import eu.kanade.tachiyomi.databinding.MangaListItemBinding import eu.kanade.tachiyomi.domain.manga.models.Manga import eu.kanade.tachiyomi.util.system.setExtras import eu.kanade.tachiyomi.util.view.setCards +import yokai.domain.manga.models.cover /** * Class used to hold the displayed data of a manga in the catalogue, like the cover or the title. @@ -55,7 +56,7 @@ class BrowseSourceListHolder( binding.coverThumbnail.dispose() } else { manga.id ?: return - val request = ImageRequest.Builder(view.context).data(manga) + val request = ImageRequest.Builder(view.context).data(manga.cover()) .target(CoverViewTarget(binding.coverThumbnail)) .setExtras(MangaCoverFetcher.USE_CUSTOM_COVER_KEY, false) .build() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchMangaHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchMangaHolder.kt index 49c7c1f072..5ea3f7815a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchMangaHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchMangaHolder.kt @@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.util.system.dpToPx import eu.kanade.tachiyomi.util.system.setExtras import eu.kanade.tachiyomi.util.view.makeShapeCorners import eu.kanade.tachiyomi.util.view.setCards +import yokai.domain.manga.models.cover import android.R as AR class GlobalSearchMangaHolder(view: View, adapter: GlobalSearchCardAdapter) : @@ -56,7 +57,7 @@ class GlobalSearchMangaHolder(view: View, adapter: GlobalSearchCardAdapter) : fun setImage(manga: Manga) { binding.itemImage.dispose() if (!manga.thumbnail_url.isNullOrEmpty()) { - val request = ImageRequest.Builder(itemView.context).data(manga) + val request = ImageRequest.Builder(itemView.context).data(manga.cover()) .placeholder(AR.color.transparent) .memoryCachePolicy(CachePolicy.DISABLED) .target(CoverViewTarget(binding.itemImage, binding.progress)) diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/manga/MangaShortcutManager.kt b/app/src/main/java/eu/kanade/tachiyomi/util/manga/MangaShortcutManager.kt index 488f14aca6..a6c1828f18 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/manga/MangaShortcutManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/manga/MangaShortcutManager.kt @@ -27,6 +27,7 @@ import eu.kanade.tachiyomi.ui.source.browse.BrowseSourceController import eu.kanade.tachiyomi.util.system.launchIO import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get +import yokai.domain.manga.models.cover import yokai.i18n.MR import yokai.util.lang.getString import kotlin.math.min @@ -73,7 +74,7 @@ class MangaShortcutManager( val shortcuts = recents.mapNotNull { item -> when (item) { is Manga -> { - val request = ImageRequest.Builder(context).data(item).build() + val request = ImageRequest.Builder(context).data(item.cover()).build() val bitmap = ( context.imageLoader .execute(request).image?.asDrawable(context.resources) as? BitmapDrawable diff --git a/presentation/widget/src/main/java/yokai/presentation/widget/UpdatesGridGlanceWidget.kt b/presentation/widget/src/main/java/yokai/presentation/widget/UpdatesGridGlanceWidget.kt index ea9e5c3774..86bfbeb9a8 100644 --- a/presentation/widget/src/main/java/yokai/presentation/widget/UpdatesGridGlanceWidget.kt +++ b/presentation/widget/src/main/java/yokai/presentation/widget/UpdatesGridGlanceWidget.kt @@ -32,6 +32,7 @@ import eu.kanade.tachiyomi.util.system.launchIO import kotlinx.coroutines.MainScope import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get +import yokai.domain.manga.models.cover import yokai.presentation.widget.components.CoverHeight import yokai.presentation.widget.components.CoverWidth import yokai.presentation.widget.components.LockedWidget @@ -97,7 +98,7 @@ class UpdatesGridGlanceWidget( .map { it.first } .map { updatesView -> val request = ImageRequest.Builder(app) - .data(updatesView) + .data(updatesView.cover()) .memoryCachePolicy(CachePolicy.DISABLED) .precision(Precision.EXACT) .size(widthPx, heightPx)