@@ -42,6 +42,7 @@ import im.vector.app.features.powerlevel.PowerLevelsFlowFactory
42
42
import im.vector.app.features.session.coroutineScope
43
43
import im.vector.app.features.settings.VectorPreferences
44
44
import im.vector.app.features.voicebroadcast.VoiceBroadcastConstants
45
+ import im.vector.app.features.voicebroadcast.VoiceBroadcastHelper
45
46
import im.vector.app.features.voicebroadcast.model.asVoiceBroadcastEvent
46
47
import kotlinx.coroutines.Dispatchers
47
48
import kotlinx.coroutines.flow.combine
@@ -84,6 +85,7 @@ class MessageComposerViewModel @AssistedInject constructor(
84
85
private val rainbowGenerator : RainbowGenerator ,
85
86
private val audioMessageHelper : AudioMessageHelper ,
86
87
private val analyticsTracker : AnalyticsTracker ,
88
+ private val voiceBroadcastHelper : VoiceBroadcastHelper ,
87
89
) : VectorViewModel<MessageComposerViewState, MessageComposerAction, MessageComposerViewEvents>(initialState) {
88
90
89
91
private val room = session.getRoom(initialState.roomId)!!
@@ -981,6 +983,8 @@ class MessageComposerViewModel @AssistedInject constructor(
981
983
private fun handleEntersBackground (composerText : String ) {
982
984
// Always stop all voice actions. It may be playing in timeline or active recording
983
985
val playingAudioContent = audioMessageHelper.stopAllVoiceActions(deleteRecord = false )
986
+ // TODO remove this when there will be a listening indicator outside of the timeline
987
+ voiceBroadcastHelper.pausePlayback()
984
988
985
989
val isVoiceRecording = com.airbnb.mvrx.withState(this ) { it.isVoiceRecording }
986
990
if (isVoiceRecording) {
0 commit comments