mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 02:34:39 +00:00
chore: Convert all cover usage to use MangaCover data class
This commit is contained in:
parent
839f762fa7
commit
d002642697
10 changed files with 21 additions and 11 deletions
|
@ -84,6 +84,7 @@ import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import yokai.domain.manga.interactor.GetLibraryManga
|
import yokai.domain.manga.interactor.GetLibraryManga
|
||||||
import yokai.domain.manga.interactor.UpdateManga
|
import yokai.domain.manga.interactor.UpdateManga
|
||||||
|
import yokai.domain.manga.models.cover
|
||||||
import yokai.i18n.MR
|
import yokai.i18n.MR
|
||||||
import yokai.util.lang.getString
|
import yokai.util.lang.getString
|
||||||
|
|
||||||
|
@ -275,10 +276,10 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet
|
||||||
val request: ImageRequest =
|
val request: ImageRequest =
|
||||||
if (thumbnailUrl != manga.thumbnail_url) {
|
if (thumbnailUrl != manga.thumbnail_url) {
|
||||||
// load new covers in background
|
// load new covers in background
|
||||||
ImageRequest.Builder(context).data(manga)
|
ImageRequest.Builder(context).data(manga.cover())
|
||||||
.memoryCachePolicy(CachePolicy.DISABLED).build()
|
.memoryCachePolicy(CachePolicy.DISABLED).build()
|
||||||
} else {
|
} else {
|
||||||
ImageRequest.Builder(context).data(manga)
|
ImageRequest.Builder(context).data(manga.cover())
|
||||||
.memoryCachePolicy(CachePolicy.DISABLED)
|
.memoryCachePolicy(CachePolicy.DISABLED)
|
||||||
.diskCachePolicy(CachePolicy.WRITE_ONLY)
|
.diskCachePolicy(CachePolicy.WRITE_ONLY)
|
||||||
.build()
|
.build()
|
||||||
|
|
|
@ -37,6 +37,7 @@ import kotlinx.coroutines.DelicateCoroutinesApi
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
import yokai.domain.manga.models.cover
|
||||||
import yokai.i18n.MR
|
import yokai.i18n.MR
|
||||||
import yokai.util.lang.getString
|
import yokai.util.lang.getString
|
||||||
import android.R as AR
|
import android.R as AR
|
||||||
|
@ -191,7 +192,7 @@ class LibraryUpdateNotifier(private val context: Context) {
|
||||||
context.notification(Notifications.CHANNEL_NEW_CHAPTERS) {
|
context.notification(Notifications.CHANNEL_NEW_CHAPTERS) {
|
||||||
setSmallIcon(R.drawable.ic_yokai)
|
setSmallIcon(R.drawable.ic_yokai)
|
||||||
try {
|
try {
|
||||||
val request = ImageRequest.Builder(context).data(manga)
|
val request = ImageRequest.Builder(context).data(manga.cover())
|
||||||
.networkCachePolicy(CachePolicy.DISABLED)
|
.networkCachePolicy(CachePolicy.DISABLED)
|
||||||
.diskCachePolicy(CachePolicy.ENABLED)
|
.diskCachePolicy(CachePolicy.ENABLED)
|
||||||
.transformations(CircleCropTransformation())
|
.transformations(CircleCropTransformation())
|
||||||
|
|
|
@ -146,6 +146,7 @@ import kotlinx.coroutines.runBlocking
|
||||||
import kotlinx.coroutines.withTimeoutOrNull
|
import kotlinx.coroutines.withTimeoutOrNull
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
import yokai.domain.manga.models.cover
|
||||||
import yokai.i18n.MR
|
import yokai.i18n.MR
|
||||||
import yokai.presentation.core.Constants
|
import yokai.presentation.core.Constants
|
||||||
import yokai.util.lang.getString
|
import yokai.util.lang.getString
|
||||||
|
@ -580,7 +581,7 @@ class MangaDetailsController :
|
||||||
fun setPaletteColor() {
|
fun setPaletteColor() {
|
||||||
val view = view ?: return
|
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(
|
.target(
|
||||||
onSuccess = { image ->
|
onSuccess = { image ->
|
||||||
val drawable = image.asDrawable(view.context.resources)
|
val drawable = image.asDrawable(view.context.resources)
|
||||||
|
|
|
@ -90,6 +90,7 @@ import yokai.domain.chapter.interactor.UpdateChapter
|
||||||
import yokai.domain.library.custom.model.CustomMangaInfo
|
import yokai.domain.library.custom.model.CustomMangaInfo
|
||||||
import yokai.domain.manga.interactor.UpdateManga
|
import yokai.domain.manga.interactor.UpdateManga
|
||||||
import yokai.domain.manga.models.MangaUpdate
|
import yokai.domain.manga.models.MangaUpdate
|
||||||
|
import yokai.domain.manga.models.cover
|
||||||
import yokai.domain.storage.StorageManager
|
import yokai.domain.storage.StorageManager
|
||||||
import yokai.i18n.MR
|
import yokai.i18n.MR
|
||||||
import yokai.util.lang.getString
|
import yokai.util.lang.getString
|
||||||
|
@ -397,7 +398,7 @@ class MangaDetailsPresenter(
|
||||||
|
|
||||||
launchIO {
|
launchIO {
|
||||||
val request =
|
val request =
|
||||||
ImageRequest.Builder(preferences.context).data(manga)
|
ImageRequest.Builder(preferences.context).data(manga.cover())
|
||||||
.memoryCachePolicy(CachePolicy.DISABLED)
|
.memoryCachePolicy(CachePolicy.DISABLED)
|
||||||
.diskCachePolicy(CachePolicy.WRITE_ONLY)
|
.diskCachePolicy(CachePolicy.WRITE_ONLY)
|
||||||
.build()
|
.build()
|
||||||
|
|
|
@ -27,6 +27,7 @@ import eu.kanade.tachiyomi.util.view.withFadeTransaction
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
import yokai.domain.manga.models.cover
|
||||||
import yokai.i18n.MR
|
import yokai.i18n.MR
|
||||||
import yokai.util.lang.getString
|
import yokai.util.lang.getString
|
||||||
import java.text.DecimalFormat
|
import java.text.DecimalFormat
|
||||||
|
@ -148,7 +149,7 @@ class MigrationProcessHolder(
|
||||||
(root.layoutParams as ConstraintLayout.LayoutParams).verticalBias = 1f
|
(root.layoutParams as ConstraintLayout.LayoutParams).verticalBias = 1f
|
||||||
progress.isVisible = false
|
progress.isVisible = false
|
||||||
|
|
||||||
val request = ImageRequest.Builder(view.context).data(manga)
|
val request = ImageRequest.Builder(view.context).data(manga.cover())
|
||||||
.target(CoverViewTarget(coverThumbnail, progress))
|
.target(CoverViewTarget(coverThumbnail, progress))
|
||||||
.setExtras(MangaCoverFetcher.USE_CUSTOM_COVER_KEY, false)
|
.setExtras(MangaCoverFetcher.USE_CUSTOM_COVER_KEY, false)
|
||||||
.build()
|
.build()
|
||||||
|
|
|
@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.domain.manga.models.Manga
|
||||||
import eu.kanade.tachiyomi.ui.library.LibraryCategoryAdapter
|
import eu.kanade.tachiyomi.ui.library.LibraryCategoryAdapter
|
||||||
import eu.kanade.tachiyomi.util.system.setExtras
|
import eu.kanade.tachiyomi.util.system.setExtras
|
||||||
import eu.kanade.tachiyomi.util.view.setCards
|
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.
|
* 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()
|
binding.coverThumbnail.dispose()
|
||||||
} else {
|
} else {
|
||||||
manga.id ?: return
|
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))
|
.target(CoverViewTarget(binding.coverThumbnail, binding.progress))
|
||||||
.setExtras(MangaCoverFetcher.USE_CUSTOM_COVER_KEY, false)
|
.setExtras(MangaCoverFetcher.USE_CUSTOM_COVER_KEY, false)
|
||||||
.build()
|
.build()
|
||||||
|
|
|
@ -14,6 +14,7 @@ import eu.kanade.tachiyomi.databinding.MangaListItemBinding
|
||||||
import eu.kanade.tachiyomi.domain.manga.models.Manga
|
import eu.kanade.tachiyomi.domain.manga.models.Manga
|
||||||
import eu.kanade.tachiyomi.util.system.setExtras
|
import eu.kanade.tachiyomi.util.system.setExtras
|
||||||
import eu.kanade.tachiyomi.util.view.setCards
|
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.
|
* 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()
|
binding.coverThumbnail.dispose()
|
||||||
} else {
|
} else {
|
||||||
manga.id ?: return
|
manga.id ?: return
|
||||||
val request = ImageRequest.Builder(view.context).data(manga)
|
val request = ImageRequest.Builder(view.context).data(manga.cover())
|
||||||
.target(CoverViewTarget(binding.coverThumbnail))
|
.target(CoverViewTarget(binding.coverThumbnail))
|
||||||
.setExtras(MangaCoverFetcher.USE_CUSTOM_COVER_KEY, false)
|
.setExtras(MangaCoverFetcher.USE_CUSTOM_COVER_KEY, false)
|
||||||
.build()
|
.build()
|
||||||
|
|
|
@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.util.system.dpToPx
|
||||||
import eu.kanade.tachiyomi.util.system.setExtras
|
import eu.kanade.tachiyomi.util.system.setExtras
|
||||||
import eu.kanade.tachiyomi.util.view.makeShapeCorners
|
import eu.kanade.tachiyomi.util.view.makeShapeCorners
|
||||||
import eu.kanade.tachiyomi.util.view.setCards
|
import eu.kanade.tachiyomi.util.view.setCards
|
||||||
|
import yokai.domain.manga.models.cover
|
||||||
import android.R as AR
|
import android.R as AR
|
||||||
|
|
||||||
class GlobalSearchMangaHolder(view: View, adapter: GlobalSearchCardAdapter) :
|
class GlobalSearchMangaHolder(view: View, adapter: GlobalSearchCardAdapter) :
|
||||||
|
@ -56,7 +57,7 @@ class GlobalSearchMangaHolder(view: View, adapter: GlobalSearchCardAdapter) :
|
||||||
fun setImage(manga: Manga) {
|
fun setImage(manga: Manga) {
|
||||||
binding.itemImage.dispose()
|
binding.itemImage.dispose()
|
||||||
if (!manga.thumbnail_url.isNullOrEmpty()) {
|
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)
|
.placeholder(AR.color.transparent)
|
||||||
.memoryCachePolicy(CachePolicy.DISABLED)
|
.memoryCachePolicy(CachePolicy.DISABLED)
|
||||||
.target(CoverViewTarget(binding.itemImage, binding.progress))
|
.target(CoverViewTarget(binding.itemImage, binding.progress))
|
||||||
|
|
|
@ -27,6 +27,7 @@ import eu.kanade.tachiyomi.ui.source.browse.BrowseSourceController
|
||||||
import eu.kanade.tachiyomi.util.system.launchIO
|
import eu.kanade.tachiyomi.util.system.launchIO
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
import yokai.domain.manga.models.cover
|
||||||
import yokai.i18n.MR
|
import yokai.i18n.MR
|
||||||
import yokai.util.lang.getString
|
import yokai.util.lang.getString
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
@ -73,7 +74,7 @@ class MangaShortcutManager(
|
||||||
val shortcuts = recents.mapNotNull { item ->
|
val shortcuts = recents.mapNotNull { item ->
|
||||||
when (item) {
|
when (item) {
|
||||||
is Manga -> {
|
is Manga -> {
|
||||||
val request = ImageRequest.Builder(context).data(item).build()
|
val request = ImageRequest.Builder(context).data(item.cover()).build()
|
||||||
val bitmap = (
|
val bitmap = (
|
||||||
context.imageLoader
|
context.imageLoader
|
||||||
.execute(request).image?.asDrawable(context.resources) as? BitmapDrawable
|
.execute(request).image?.asDrawable(context.resources) as? BitmapDrawable
|
||||||
|
|
|
@ -32,6 +32,7 @@ import eu.kanade.tachiyomi.util.system.launchIO
|
||||||
import kotlinx.coroutines.MainScope
|
import kotlinx.coroutines.MainScope
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
import yokai.domain.manga.models.cover
|
||||||
import yokai.presentation.widget.components.CoverHeight
|
import yokai.presentation.widget.components.CoverHeight
|
||||||
import yokai.presentation.widget.components.CoverWidth
|
import yokai.presentation.widget.components.CoverWidth
|
||||||
import yokai.presentation.widget.components.LockedWidget
|
import yokai.presentation.widget.components.LockedWidget
|
||||||
|
@ -97,7 +98,7 @@ class UpdatesGridGlanceWidget(
|
||||||
.map { it.first }
|
.map { it.first }
|
||||||
.map { updatesView ->
|
.map { updatesView ->
|
||||||
val request = ImageRequest.Builder(app)
|
val request = ImageRequest.Builder(app)
|
||||||
.data(updatesView)
|
.data(updatesView.cover())
|
||||||
.memoryCachePolicy(CachePolicy.DISABLED)
|
.memoryCachePolicy(CachePolicy.DISABLED)
|
||||||
.precision(Precision.EXACT)
|
.precision(Precision.EXACT)
|
||||||
.size(widthPx, heightPx)
|
.size(widthPx, heightPx)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue