mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2024-11-26 19:36:08 +03:00
Handle voice broadcast deletion on listener side
This commit is contained in:
parent
2d60e49205
commit
f436de1230
1 changed files with 12 additions and 6 deletions
|
@ -145,17 +145,23 @@ class VoiceBroadcastPlayerImpl @Inject constructor(
|
|||
|
||||
playingState = State.BUFFERING
|
||||
|
||||
observeVoiceBroadcastLiveState(voiceBroadcast)
|
||||
observeVoiceBroadcastStateEvent(voiceBroadcast)
|
||||
fetchPlaylistAndStartPlayback(voiceBroadcast)
|
||||
}
|
||||
|
||||
private fun observeVoiceBroadcastLiveState(voiceBroadcast: VoiceBroadcast) {
|
||||
private fun observeVoiceBroadcastStateEvent(voiceBroadcast: VoiceBroadcast) {
|
||||
voiceBroadcastStateObserver = getVoiceBroadcastEventUseCase.execute(voiceBroadcast)
|
||||
.onEach {
|
||||
currentVoiceBroadcastEvent = it.getOrNull()
|
||||
.onEach { onVoiceBroadcastStateEventUpdated(it.getOrNull()) }
|
||||
.launchIn(sessionScope)
|
||||
}
|
||||
|
||||
private fun onVoiceBroadcastStateEventUpdated(event: VoiceBroadcastEvent?) {
|
||||
if (event == null) {
|
||||
stop()
|
||||
} else {
|
||||
currentVoiceBroadcastEvent = event
|
||||
updateLiveListeningMode()
|
||||
}
|
||||
.launchIn(sessionScope)
|
||||
}
|
||||
|
||||
private fun fetchPlaylistAndStartPlayback(voiceBroadcast: VoiceBroadcast) {
|
||||
|
|
Loading…
Reference in a new issue