mirror of
https://github.com/bbara04/Purefin.git
synced 2026-03-31 17:10:08 +02:00
fix: Cannot play the same content. The previous session got stuck
This commit is contained in:
@@ -116,11 +116,16 @@ class PlayerManager @Inject constructor(
|
|||||||
startProgressLoop()
|
startProgressLoop()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun play(mediaItem: MediaItem, mediaContext: MediaContext? = null) {
|
fun play(mediaItem: MediaItem, mediaContext: MediaContext? = null, startPositionMs: Long? = null) {
|
||||||
currentMediaContext = mediaContext
|
currentMediaContext = mediaContext
|
||||||
player.setMediaItem(mediaItem)
|
if (startPositionMs != null) {
|
||||||
|
player.setMediaItem(mediaItem, startPositionMs)
|
||||||
|
} else {
|
||||||
|
player.setMediaItem(mediaItem)
|
||||||
|
}
|
||||||
player.prepare()
|
player.prepare()
|
||||||
player.playWhenReady = true
|
player.playWhenReady = true
|
||||||
|
_progress.value = PlaybackProgressSnapshot()
|
||||||
refreshMetadata(mediaItem)
|
refreshMetadata(mediaItem)
|
||||||
refreshQueue()
|
refreshQueue()
|
||||||
_playbackState.update { it.copy(isEnded = false, error = null) }
|
_playbackState.update { it.copy(isEnded = false, error = null) }
|
||||||
|
|||||||
@@ -148,10 +148,7 @@ class PlayerViewModel @Inject constructor(
|
|||||||
val preferenceKey = mediaRepository.episodes.value[uuid]?.seriesId?.toString() ?: id
|
val preferenceKey = mediaRepository.episodes.value[uuid]?.seriesId?.toString() ?: id
|
||||||
val mediaContext = MediaContext(mediaId = id, preferenceKey = preferenceKey)
|
val mediaContext = MediaContext(mediaId = id, preferenceKey = preferenceKey)
|
||||||
|
|
||||||
playerManager.play(mediaItem, mediaContext)
|
playerManager.play(mediaItem, mediaContext, resumePositionMs)
|
||||||
|
|
||||||
// Seek to resume position after play() is called
|
|
||||||
resumePositionMs?.let { playerManager.seekTo(it) }
|
|
||||||
|
|
||||||
if (dataErrorMessage != null) {
|
if (dataErrorMessage != null) {
|
||||||
dataErrorMessage = null
|
dataErrorMessage = null
|
||||||
|
|||||||
Reference in New Issue
Block a user