@@ -24,17 +24,15 @@ import im.vector.app.features.voicebroadcast.model.VoiceBroadcastEvent
24
24
import im.vector.app.features.voicebroadcast.model.VoiceBroadcastState
25
25
import im.vector.app.features.voicebroadcast.model.asVoiceBroadcastEvent
26
26
import im.vector.app.features.voicebroadcast.sequence
27
- import im.vector.app.features.voicebroadcast.usecase.GetVoiceBroadcastStateEventLiveUseCase
27
+ import im.vector.app.features.voicebroadcast.usecase.GetVoiceBroadcastStateEventUseCase
28
28
import im.vector.app.features.voicebroadcast.voiceBroadcastId
29
29
import kotlinx.coroutines.channels.awaitClose
30
30
import kotlinx.coroutines.flow.Flow
31
31
import kotlinx.coroutines.flow.callbackFlow
32
32
import kotlinx.coroutines.flow.emptyFlow
33
- import kotlinx.coroutines.flow.firstOrNull
34
33
import kotlinx.coroutines.flow.flowOf
35
34
import kotlinx.coroutines.flow.map
36
35
import kotlinx.coroutines.flow.runningReduce
37
- import kotlinx.coroutines.runBlocking
38
36
import org.matrix.android.sdk.api.session.events.model.RelationType
39
37
import org.matrix.android.sdk.api.session.room.model.message.MessageAudioEvent
40
38
import org.matrix.android.sdk.api.session.room.model.message.asMessageAudioEvent
@@ -48,7 +46,7 @@ import javax.inject.Inject
48
46
*/
49
47
class GetLiveVoiceBroadcastChunksUseCase @Inject constructor(
50
48
private val activeSessionHolder : ActiveSessionHolder ,
51
- private val getVoiceBroadcastEventUseCase : GetVoiceBroadcastStateEventLiveUseCase ,
49
+ private val getVoiceBroadcastEventUseCase : GetVoiceBroadcastStateEventUseCase ,
52
50
) {
53
51
54
52
fun execute (voiceBroadcast : VoiceBroadcast ): Flow <List <MessageAudioEvent >> {
@@ -60,7 +58,7 @@ class GetLiveVoiceBroadcastChunksUseCase @Inject constructor(
60
58
val existingChunks = room.timelineService().getTimelineEventsRelatedTo(RelationType .REFERENCE , voiceBroadcast.voiceBroadcastId)
61
59
.mapNotNull { timelineEvent -> timelineEvent.root.asMessageAudioEvent().takeIf { it.isVoiceBroadcast() } }
62
60
63
- val voiceBroadcastEvent = runBlocking { getVoiceBroadcastEventUseCase.execute(voiceBroadcast).firstOrNull()?.getOrNull() }
61
+ val voiceBroadcastEvent = getVoiceBroadcastEventUseCase.execute(voiceBroadcast)
64
62
val voiceBroadcastState = voiceBroadcastEvent?.content?.voiceBroadcastState
65
63
66
64
return if (voiceBroadcastState == null || voiceBroadcastState == VoiceBroadcastState .STOPPED ) {
0 commit comments