mirror of
https://github.com/bbara04/Purefin.git
synced 2026-07-23 19:26:50 +00:00
feat(tv): add seriesName and seasonIndex to Episode data model
This commit is contained in:
@@ -105,7 +105,9 @@ class EpisodeScreenContentTest {
|
|||||||
return Episode(
|
return Episode(
|
||||||
id = UUID.fromString("33333333-3333-3333-3333-333333333333"),
|
id = UUID.fromString("33333333-3333-3333-3333-333333333333"),
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = "Severance",
|
||||||
seasonId = seasonId,
|
seasonId = seasonId,
|
||||||
|
seasonIndex = 2,
|
||||||
index = 4,
|
index = 4,
|
||||||
title = "The You You Are",
|
title = "The You You Are",
|
||||||
synopsis = "Mark is pulled deeper into Lumon's fractured world as the team chases a clue.",
|
synopsis = "Mark is pulled deeper into Lumon's fractured world as the team chases a clue.",
|
||||||
|
|||||||
@@ -425,7 +425,9 @@ class TvHomeContentTest {
|
|||||||
return Episode(
|
return Episode(
|
||||||
id = UUID.fromString(id),
|
id = UUID.fromString(id),
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = "Firefly",
|
||||||
seasonId = seasonId,
|
seasonId = seasonId,
|
||||||
|
seasonIndex = 1,
|
||||||
index = 1,
|
index = 1,
|
||||||
title = title,
|
title = title,
|
||||||
synopsis = "A crew member takes the shuttle for a spin and makes a mess.",
|
synopsis = "A crew member takes the shuttle for a spin and makes a mess.",
|
||||||
|
|||||||
@@ -120,7 +120,9 @@ class SeriesScreenContentTest {
|
|||||||
Episode(
|
Episode(
|
||||||
id = UUID.fromString("44444444-4444-4444-4444-444444444444"),
|
id = UUID.fromString("44444444-4444-4444-4444-444444444444"),
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = "Severance",
|
||||||
seasonId = seasonId,
|
seasonId = seasonId,
|
||||||
|
seasonIndex = 1,
|
||||||
index = 1,
|
index = 1,
|
||||||
title = "Good News About Hell",
|
title = "Good News About Hell",
|
||||||
synopsis = "Mark is promoted after an unexpected tragedy.",
|
synopsis = "Mark is promoted after an unexpected tragedy.",
|
||||||
@@ -136,7 +138,9 @@ class SeriesScreenContentTest {
|
|||||||
Episode(
|
Episode(
|
||||||
id = UUID.fromString("55555555-5555-5555-5555-555555555555"),
|
id = UUID.fromString("55555555-5555-5555-5555-555555555555"),
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = "Severance",
|
||||||
seasonId = seasonId,
|
seasonId = seasonId,
|
||||||
|
seasonIndex = 1,
|
||||||
index = 2,
|
index = 2,
|
||||||
title = "Half Loop",
|
title = "Half Loop",
|
||||||
synopsis = "Mark takes the team out for a sanctioned dinner.",
|
synopsis = "Mark takes the team out for a sanctioned dinner.",
|
||||||
|
|||||||
@@ -95,7 +95,9 @@ class TvFocusedItemHeroTest {
|
|||||||
return Episode(
|
return Episode(
|
||||||
id = UUID.fromString("33333333-3333-3333-3333-333333333333"),
|
id = UUID.fromString("33333333-3333-3333-3333-333333333333"),
|
||||||
seriesId = UUID.fromString("44444444-4444-4444-4444-444444444444"),
|
seriesId = UUID.fromString("44444444-4444-4444-4444-444444444444"),
|
||||||
|
seriesName = "Love, Death & Robots",
|
||||||
seasonId = UUID.fromString("55555555-5555-5555-5555-555555555555"),
|
seasonId = UUID.fromString("55555555-5555-5555-5555-555555555555"),
|
||||||
|
seasonIndex = 3,
|
||||||
index = 3,
|
index = 3,
|
||||||
title = "The Very Pulse of the Machine",
|
title = "The Very Pulse of the Machine",
|
||||||
synopsis = "An astronaut faces a strange world alone.",
|
synopsis = "An astronaut faces a strange world alone.",
|
||||||
|
|||||||
@@ -126,7 +126,9 @@ class TvHomeHeroStateTest {
|
|||||||
episode = Episode(
|
episode = Episode(
|
||||||
id = UUID.fromString(id),
|
id = UUID.fromString(id),
|
||||||
seriesId = UUID.fromString("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"),
|
seriesId = UUID.fromString("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"),
|
||||||
|
seriesName = "Sample Series",
|
||||||
seasonId = UUID.fromString("bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"),
|
seasonId = UUID.fromString("bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"),
|
||||||
|
seasonIndex = 1,
|
||||||
index = 1,
|
index = 1,
|
||||||
title = "Next Episode",
|
title = "Next Episode",
|
||||||
synopsis = "Episode synopsis",
|
synopsis = "Episode synopsis",
|
||||||
|
|||||||
@@ -237,7 +237,9 @@ private fun previewEpisode(): Episode {
|
|||||||
return Episode(
|
return Episode(
|
||||||
id = UUID.fromString("33333333-3333-3333-3333-333333333333"),
|
id = UUID.fromString("33333333-3333-3333-3333-333333333333"),
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = "Severance",
|
||||||
seasonId = seasonId,
|
seasonId = seasonId,
|
||||||
|
seasonIndex = 2,
|
||||||
index = 4,
|
index = 4,
|
||||||
title = "The You You Are",
|
title = "The You You Are",
|
||||||
synopsis = "Mark is pulled deeper into Lumon's fractured world as the team chases a clue that reframes everything they thought they understood.",
|
synopsis = "Mark is pulled deeper into Lumon's fractured world as the team chases a clue that reframes everything they thought they understood.",
|
||||||
|
|||||||
@@ -268,7 +268,9 @@ private fun previewSeries(): Series {
|
|||||||
Episode(
|
Episode(
|
||||||
id = UUID.fromString("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1"),
|
id = UUID.fromString("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1"),
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = "Constellation",
|
||||||
seasonId = seasonOneId,
|
seasonId = seasonOneId,
|
||||||
|
seasonIndex = 1,
|
||||||
index = 1,
|
index = 1,
|
||||||
title = "A Fresh Start",
|
title = "A Fresh Start",
|
||||||
synopsis = "A fractured crew tries to reassemble after a year apart.",
|
synopsis = "A fractured crew tries to reassemble after a year apart.",
|
||||||
@@ -284,7 +286,9 @@ private fun previewSeries(): Series {
|
|||||||
Episode(
|
Episode(
|
||||||
id = UUID.fromString("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa2"),
|
id = UUID.fromString("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa2"),
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = "Constellation",
|
||||||
seasonId = seasonOneId,
|
seasonId = seasonOneId,
|
||||||
|
seasonIndex = 1,
|
||||||
index = 2,
|
index = 2,
|
||||||
title = "Signals",
|
title = "Signals",
|
||||||
synopsis = "Anomalies around the station point to a cover-up.",
|
synopsis = "Anomalies around the station point to a cover-up.",
|
||||||
@@ -302,7 +306,9 @@ private fun previewSeries(): Series {
|
|||||||
Episode(
|
Episode(
|
||||||
id = UUID.fromString("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa3"),
|
id = UUID.fromString("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa3"),
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = "Constellation",
|
||||||
seasonId = seasonTwoId,
|
seasonId = seasonTwoId,
|
||||||
|
seasonIndex = 2,
|
||||||
index = 1,
|
index = 1,
|
||||||
title = "Return Window",
|
title = "Return Window",
|
||||||
synopsis = "A high-risk jump changes the rules of the mission.",
|
synopsis = "A high-risk jump changes the rules of the mission.",
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ import java.util.UUID
|
|||||||
data class Episode(
|
data class Episode(
|
||||||
val id: UUID,
|
val id: UUID,
|
||||||
val seriesId: UUID,
|
val seriesId: UUID,
|
||||||
|
val seriesName: String,
|
||||||
val seasonId: UUID,
|
val seasonId: UUID,
|
||||||
|
val seasonIndex: Int,
|
||||||
val index: Int,
|
val index: Int,
|
||||||
val title: String,
|
val title: String,
|
||||||
val synopsis: String,
|
val synopsis: String,
|
||||||
|
|||||||
@@ -129,8 +129,8 @@ class EpisodeUiModel : MediaUiModel {
|
|||||||
|
|
||||||
constructor(episode: Episode) {
|
constructor(episode: Episode) {
|
||||||
id = episode.id
|
id = episode.id
|
||||||
primaryText = episode.title
|
primaryText = episode.seriesName
|
||||||
secondaryText = episode.releaseDate
|
secondaryText = "${episode.seasonIndex} x ${episode.index} : ${episode.title}"
|
||||||
description = episode.synopsis
|
description = episode.synopsis
|
||||||
prefixImageUrl = episode.imageUrlPrefix
|
prefixImageUrl = episode.imageUrlPrefix
|
||||||
progress = (episode.progress?.toFloat() ?: 0f) / 100f
|
progress = (episode.progress?.toFloat() ?: 0f) / 100f
|
||||||
|
|||||||
@@ -95,7 +95,9 @@ fun BaseItemDto.toEpisode(serverUrl: String): Episode {
|
|||||||
return Episode(
|
return Episode(
|
||||||
id = id,
|
id = id,
|
||||||
seriesId = seriesId!!,
|
seriesId = seriesId!!,
|
||||||
|
seriesName = seriesName!!,
|
||||||
seasonId = parentId!!,
|
seasonId = parentId!!,
|
||||||
|
seasonIndex = parentIndexNumber!!,
|
||||||
title = name ?: "Unknown title",
|
title = name ?: "Unknown title",
|
||||||
index = indexNumber!!,
|
index = indexNumber!!,
|
||||||
releaseDate = releaseDate,
|
releaseDate = releaseDate,
|
||||||
|
|||||||
@@ -50,7 +50,9 @@ data class CachedSeries(
|
|||||||
data class CachedEpisode(
|
data class CachedEpisode(
|
||||||
val id: String,
|
val id: String,
|
||||||
val seriesId: String,
|
val seriesId: String,
|
||||||
|
val seriesName: String,
|
||||||
val seasonId: String,
|
val seasonId: String,
|
||||||
|
val seasonIndex: Int,
|
||||||
val index: Int,
|
val index: Int,
|
||||||
val title: String,
|
val title: String,
|
||||||
val synopsis: String,
|
val synopsis: String,
|
||||||
@@ -208,7 +210,9 @@ fun CachedSeries.toSeries(): Series? {
|
|||||||
fun Episode.toCachedEpisode() = CachedEpisode(
|
fun Episode.toCachedEpisode() = CachedEpisode(
|
||||||
id = id.toString(),
|
id = id.toString(),
|
||||||
seriesId = seriesId.toString(),
|
seriesId = seriesId.toString(),
|
||||||
|
seriesName = seriesName,
|
||||||
seasonId = seasonId.toString(),
|
seasonId = seasonId.toString(),
|
||||||
|
seasonIndex = seasonIndex,
|
||||||
index = index,
|
index = index,
|
||||||
title = title,
|
title = title,
|
||||||
synopsis = synopsis,
|
synopsis = synopsis,
|
||||||
@@ -229,7 +233,9 @@ fun CachedEpisode.toEpisode(): Episode? {
|
|||||||
return Episode(
|
return Episode(
|
||||||
id = episodeId,
|
id = episodeId,
|
||||||
seriesId = seriesUuid,
|
seriesId = seriesUuid,
|
||||||
|
seriesName = seriesName,
|
||||||
seasonId = seasonUuid,
|
seasonId = seasonUuid,
|
||||||
|
seasonIndex = seasonIndex,
|
||||||
index = index,
|
index = index,
|
||||||
title = title,
|
title = title,
|
||||||
synopsis = synopsis,
|
synopsis = synopsis,
|
||||||
|
|||||||
@@ -21,7 +21,9 @@ import java.util.UUID
|
|||||||
data class EpisodeEntity(
|
data class EpisodeEntity(
|
||||||
@PrimaryKey val id: UUID,
|
@PrimaryKey val id: UUID,
|
||||||
val seriesId: UUID,
|
val seriesId: UUID,
|
||||||
|
val seriesName: String,
|
||||||
val seasonId: UUID,
|
val seasonId: UUID,
|
||||||
|
val seasonIndex: Int,
|
||||||
val index: Int,
|
val index: Int,
|
||||||
val title: String,
|
val title: String,
|
||||||
val synopsis: String,
|
val synopsis: String,
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import hu.bbara.purefin.data.offline.room.entity.SmartDownloadEntity
|
|||||||
EpisodeEntity::class,
|
EpisodeEntity::class,
|
||||||
SmartDownloadEntity::class,
|
SmartDownloadEntity::class,
|
||||||
],
|
],
|
||||||
version = 10,
|
version = 11,
|
||||||
exportSchema = false
|
exportSchema = false
|
||||||
)
|
)
|
||||||
@TypeConverters(UuidConverters::class)
|
@TypeConverters(UuidConverters::class)
|
||||||
|
|||||||
@@ -246,7 +246,9 @@ class OfflineRoomMediaLocalDataSource(
|
|||||||
private fun Episode.toEntity() = EpisodeEntity(
|
private fun Episode.toEntity() = EpisodeEntity(
|
||||||
id = id,
|
id = id,
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = seriesName,
|
||||||
seasonId = seasonId,
|
seasonId = seasonId,
|
||||||
|
seasonIndex = seasonIndex,
|
||||||
index = index,
|
index = index,
|
||||||
title = title,
|
title = title,
|
||||||
synopsis = synopsis,
|
synopsis = synopsis,
|
||||||
@@ -300,7 +302,9 @@ class OfflineRoomMediaLocalDataSource(
|
|||||||
private fun EpisodeEntity.toDomain() = Episode(
|
private fun EpisodeEntity.toDomain() = Episode(
|
||||||
id = id,
|
id = id,
|
||||||
seriesId = seriesId,
|
seriesId = seriesId,
|
||||||
|
seriesName = seriesName,
|
||||||
seasonId = seasonId,
|
seasonId = seasonId,
|
||||||
|
seasonIndex = seasonIndex,
|
||||||
index = index,
|
index = index,
|
||||||
title = title,
|
title = title,
|
||||||
synopsis = synopsis,
|
synopsis = synopsis,
|
||||||
|
|||||||
Reference in New Issue
Block a user