VoiceBroadcastPlayer - Reorganize some code
This commit is contained in:
parent
c85b159952
commit
37c75354be
@ -56,16 +56,16 @@ class VoiceBroadcastPlayerImpl @Inject constructor(
|
|||||||
private val session get() = sessionHolder.getActiveSession()
|
private val session get() = sessionHolder.getActiveSession()
|
||||||
private val sessionScope get() = session.coroutineScope
|
private val sessionScope get() = session.coroutineScope
|
||||||
|
|
||||||
private var fetchPlaylistTask: Job? = null
|
|
||||||
private var voiceBroadcastStateTask: Job? = null
|
|
||||||
|
|
||||||
private val mediaPlayerListener = MediaPlayerListener()
|
private val mediaPlayerListener = MediaPlayerListener()
|
||||||
private val playbackTicker = PlaybackTicker()
|
private val playbackTicker = PlaybackTicker()
|
||||||
|
private val playlist = VoiceBroadcastPlaylist()
|
||||||
|
|
||||||
|
private var fetchPlaylistTask: Job? = null
|
||||||
|
private var voiceBroadcastStateObserver: Job? = null
|
||||||
|
|
||||||
private var currentMediaPlayer: MediaPlayer? = null
|
private var currentMediaPlayer: MediaPlayer? = null
|
||||||
private var nextMediaPlayer: MediaPlayer? = null
|
private var nextMediaPlayer: MediaPlayer? = null
|
||||||
|
|
||||||
private val playlist = VoiceBroadcastPlaylist()
|
|
||||||
private var currentVoiceBroadcastEvent: VoiceBroadcastEvent? = null
|
private var currentVoiceBroadcastEvent: VoiceBroadcastEvent? = null
|
||||||
|
|
||||||
override var currentVoiceBroadcast: VoiceBroadcast? = null
|
override var currentVoiceBroadcast: VoiceBroadcast? = null
|
||||||
@ -105,8 +105,8 @@ class VoiceBroadcastPlayerImpl @Inject constructor(
|
|||||||
// Do not observe anymore voice broadcast changes
|
// Do not observe anymore voice broadcast changes
|
||||||
fetchPlaylistTask?.cancel()
|
fetchPlaylistTask?.cancel()
|
||||||
fetchPlaylistTask = null
|
fetchPlaylistTask = null
|
||||||
voiceBroadcastStateTask?.cancel()
|
voiceBroadcastStateObserver?.cancel()
|
||||||
voiceBroadcastStateTask = null
|
voiceBroadcastStateObserver = null
|
||||||
|
|
||||||
// Clear playlist
|
// Clear playlist
|
||||||
playlist.reset()
|
playlist.reset()
|
||||||
@ -139,7 +139,7 @@ class VoiceBroadcastPlayerImpl @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun observeVoiceBroadcastLiveState(voiceBroadcast: VoiceBroadcast) {
|
private fun observeVoiceBroadcastLiveState(voiceBroadcast: VoiceBroadcast) {
|
||||||
voiceBroadcastStateTask = getVoiceBroadcastEventUseCase.execute(voiceBroadcast)
|
voiceBroadcastStateObserver = getVoiceBroadcastEventUseCase.execute(voiceBroadcast)
|
||||||
.onEach { currentVoiceBroadcastEvent = it.getOrNull() }
|
.onEach { currentVoiceBroadcastEvent = it.getOrNull() }
|
||||||
.launchIn(sessionScope)
|
.launchIn(sessionScope)
|
||||||
}
|
}
|
||||||
@ -345,7 +345,7 @@ class VoiceBroadcastPlayerImpl @Inject constructor(
|
|||||||
if (currentMediaPlayer?.isPlaying.orFalse()) {
|
if (currentMediaPlayer?.isPlaying.orFalse()) {
|
||||||
val itemStartPosition = playlist.currentItem?.startTime
|
val itemStartPosition = playlist.currentItem?.startTime
|
||||||
val currentVoiceBroadcastPosition = itemStartPosition?.plus(currentMediaPlayer?.currentPosition ?: 0)
|
val currentVoiceBroadcastPosition = itemStartPosition?.plus(currentMediaPlayer?.currentPosition ?: 0)
|
||||||
Timber.d("Voice Broadcast | VoiceBroadcastPlayerImpl - sequence: $currentSequence, itemStartPosition $itemStartPosition, currentMediaPlayer=$currentMediaPlayer, currentMediaPlayer?.currentPosition: ${currentMediaPlayer?.currentPosition}")
|
Timber.d("Voice Broadcast | VoiceBroadcastPlayerImpl - sequence: ${playlist.currentSequence}, itemStartPosition $itemStartPosition, currentMediaPlayer=$currentMediaPlayer, currentMediaPlayer?.currentPosition: ${currentMediaPlayer?.currentPosition}")
|
||||||
if (currentVoiceBroadcastPosition != null) {
|
if (currentVoiceBroadcastPosition != null) {
|
||||||
val percentage = currentVoiceBroadcastPosition.toFloat() / playlist.duration
|
val percentage = currentVoiceBroadcastPosition.toFloat() / playlist.duration
|
||||||
playbackTracker.updatePlayingAtPlaybackTime(id, currentVoiceBroadcastPosition, percentage)
|
playbackTracker.updatePlayingAtPlaybackTime(id, currentVoiceBroadcastPosition, percentage)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user