mirror of
https://github.com/bbara04/Purefin.git
synced 2026-07-23 19:26:50 +00:00
feat: add preferenceMediaId to PlayableMedia and update related logic to make more prone to mistakes
This commit is contained in:
@@ -48,11 +48,16 @@ class DefaultPlayableMediaRepository @Inject constructor(
|
||||
|
||||
val mediaItem = getMediaItem(baseItem, playbackDecision)
|
||||
val resumePositionMs = calculateResumePosition(baseItem, playbackDecision.mediaSource)
|
||||
val mediaTrackPreferences = trackPreferencesRepository.getMediaPreferences(baseItem.parentId.toString()).first()
|
||||
val preferenceMediaId = when (baseItem.type) {
|
||||
BaseItemKind.EPISODE -> baseItem.seriesId ?: mediaId
|
||||
else -> mediaId
|
||||
}
|
||||
val mediaTrackPreferences = trackPreferencesRepository.getMediaPreferences(preferenceMediaId.toString()).first()
|
||||
val mediaSegments = getMediaSegments(mediaId)
|
||||
when (baseItem.type) {
|
||||
BaseItemKind.MOVIE -> PlayableMedia.Movie(
|
||||
id = mediaId,
|
||||
preferenceMediaId = preferenceMediaId,
|
||||
mediaItem = mediaItem,
|
||||
resumePositionMs = resumePositionMs ?: 0L,
|
||||
preferences = mediaTrackPreferences,
|
||||
@@ -60,6 +65,7 @@ class DefaultPlayableMediaRepository @Inject constructor(
|
||||
)
|
||||
BaseItemKind.SERIES -> PlayableMedia.Series(
|
||||
id = mediaId,
|
||||
preferenceMediaId = preferenceMediaId,
|
||||
mediaItem = mediaItem,
|
||||
resumePositionMs = resumePositionMs ?: 0L,
|
||||
preferences = mediaTrackPreferences,
|
||||
@@ -67,6 +73,7 @@ class DefaultPlayableMediaRepository @Inject constructor(
|
||||
)
|
||||
BaseItemKind.EPISODE -> PlayableMedia.Episode(
|
||||
id = mediaId,
|
||||
preferenceMediaId = preferenceMediaId,
|
||||
mediaItem = mediaItem,
|
||||
resumePositionMs = resumePositionMs ?: 0L,
|
||||
preferences = mediaTrackPreferences,
|
||||
|
||||
Reference in New Issue
Block a user