mirror of
https://github.com/bbara04/Purefin.git
synced 2026-07-23 19:26:50 +00:00
refactor: convert PlayableMedia to sealed class with specific media types
This commit is contained in:
@@ -3,10 +3,34 @@ package hu.bbara.purefin.model
|
||||
import androidx.media3.common.MediaItem
|
||||
import java.util.UUID
|
||||
|
||||
data class PlayableMedia (
|
||||
val id: UUID,
|
||||
val resumePositionMs: Float,
|
||||
val mediaItem: MediaItem,
|
||||
val preferences: MediaTrackPreferences,
|
||||
val mediaSegments: List<MediaSegment>
|
||||
)
|
||||
sealed class PlayableMedia {
|
||||
abstract val id: UUID
|
||||
abstract val resumePositionMs: Long
|
||||
abstract val mediaItem: MediaItem
|
||||
abstract val preferences: MediaTrackPreferences
|
||||
abstract val mediaSegments: List<MediaSegment>
|
||||
|
||||
data class Movie(
|
||||
override val id: UUID,
|
||||
override val resumePositionMs: Long,
|
||||
override val mediaItem: MediaItem,
|
||||
override val preferences: MediaTrackPreferences,
|
||||
override val mediaSegments: List<MediaSegment>
|
||||
) : PlayableMedia()
|
||||
|
||||
data class Series(
|
||||
override val id: UUID,
|
||||
override val resumePositionMs: Long,
|
||||
override val mediaItem: MediaItem,
|
||||
override val preferences: MediaTrackPreferences,
|
||||
override val mediaSegments: List<MediaSegment>
|
||||
) : PlayableMedia()
|
||||
|
||||
data class Episode(
|
||||
override val id: UUID,
|
||||
override val resumePositionMs: Long,
|
||||
override val mediaItem: MediaItem,
|
||||
override val preferences: MediaTrackPreferences,
|
||||
override val mediaSegments: List<MediaSegment>
|
||||
) : PlayableMedia()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user