mirror of
https://github.com/bbara04/Purefin.git
synced 2026-07-24 03:36:51 +00:00
refactor: update image handling in Episode dto to use imageUrlPrefix and JellyfinImageHelper
This commit is contained in:
@@ -476,11 +476,10 @@ class InMemoryAppContentRepository @Inject constructor(
|
||||
|
||||
private fun BaseItemDto.toEpisode(serverUrl: String): Episode {
|
||||
val releaseDate = formatReleaseDate(premiereDate, productionYear)
|
||||
val heroImageUrl = id?.let { itemId ->
|
||||
JellyfinImageHelper.toImageUrl(
|
||||
val imageUrlPrefix = id?.let { itemId ->
|
||||
JellyfinImageHelper.toPrefixImageUrl(
|
||||
url = serverUrl,
|
||||
itemId = itemId,
|
||||
type = ImageType.PRIMARY
|
||||
itemId = itemId
|
||||
)
|
||||
} ?: ""
|
||||
return Episode(
|
||||
@@ -496,7 +495,7 @@ class InMemoryAppContentRepository @Inject constructor(
|
||||
watched = userData!!.played,
|
||||
format = container?.uppercase() ?: "VIDEO",
|
||||
synopsis = overview ?: "No synopsis available.",
|
||||
heroImageUrl = heroImageUrl,
|
||||
imageUrlPrefix = imageUrlPrefix,
|
||||
cast = emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -125,8 +125,8 @@ class InMemoryMediaRepository @Inject constructor(
|
||||
|
||||
private fun BaseItemDto.toEpisode(serverUrl: String): Episode {
|
||||
val releaseDate = formatReleaseDate(premiereDate, productionYear)
|
||||
val heroImageUrl = id?.let { itemId ->
|
||||
JellyfinImageHelper.toImageUrl(url = serverUrl, itemId = itemId, type = ImageType.PRIMARY)
|
||||
val imageUrlPrefix = id?.let { itemId ->
|
||||
JellyfinImageHelper.toPrefixImageUrl(url = serverUrl, itemId = itemId)
|
||||
} ?: ""
|
||||
return Episode(
|
||||
id = id,
|
||||
@@ -141,7 +141,7 @@ class InMemoryMediaRepository @Inject constructor(
|
||||
watched = userData!!.played,
|
||||
format = container?.uppercase() ?: "VIDEO",
|
||||
synopsis = overview ?: "No synopsis available.",
|
||||
heroImageUrl = heroImageUrl,
|
||||
imageUrlPrefix = imageUrlPrefix,
|
||||
cast = emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -31,5 +31,5 @@ data class EpisodeEntity(
|
||||
val progress: Double?,
|
||||
val watched: Boolean,
|
||||
val format: String,
|
||||
val heroImageUrl: String
|
||||
val imageUrlPrefix: String
|
||||
)
|
||||
|
||||
@@ -23,7 +23,7 @@ import hu.bbara.purefin.core.data.room.entity.SmartDownloadEntity
|
||||
EpisodeEntity::class,
|
||||
SmartDownloadEntity::class,
|
||||
],
|
||||
version = 8,
|
||||
version = 9,
|
||||
exportSchema = false
|
||||
)
|
||||
@TypeConverters(UuidConverters::class)
|
||||
|
||||
@@ -246,7 +246,7 @@ class OfflineRoomMediaLocalDataSource(
|
||||
progress = progress,
|
||||
watched = watched,
|
||||
format = format,
|
||||
heroImageUrl = heroImageUrl
|
||||
imageUrlPrefix = imageUrlPrefix
|
||||
)
|
||||
|
||||
private fun MovieEntity.toDomain() = Movie(
|
||||
@@ -302,7 +302,7 @@ class OfflineRoomMediaLocalDataSource(
|
||||
progress = progress,
|
||||
watched = watched,
|
||||
format = format,
|
||||
heroImageUrl = heroImageUrl,
|
||||
imageUrlPrefix = imageUrlPrefix,
|
||||
cast = emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -15,6 +15,6 @@ data class Episode(
|
||||
val progress: Double?,
|
||||
val watched: Boolean,
|
||||
val format: String,
|
||||
val heroImageUrl: String,
|
||||
val imageUrlPrefix: String,
|
||||
val cast: List<CastMember>
|
||||
)
|
||||
|
||||
@@ -140,7 +140,7 @@ class PlayerMediaRepository @Inject constructor(
|
||||
val subtitle = episode?.let { episodeSubtitle(null, it.index) }
|
||||
val artworkUrl = when {
|
||||
movie != null -> JellyfinImageHelper.finishImageUrl(movie.imageUrlPrefix, ImageType.PRIMARY)
|
||||
episode != null -> episode.heroImageUrl
|
||||
episode != null -> JellyfinImageHelper.finishImageUrl(episode.imageUrlPrefix, ImageType.PRIMARY)
|
||||
else -> JellyfinImageHelper.toImageUrl(serverUrl, mediaId, ImageType.PRIMARY)
|
||||
}
|
||||
val resumePositionMs = resumePositionFor(movie, episode)
|
||||
|
||||
Reference in New Issue
Block a user