Skip to content

Commit d53ad43

Browse files
author
Florian Renaud
committed
Voice Broadcast - Pause listening outside of the timeline
1 parent e75ddf7 commit d53ad43

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerFragment.kt

+1
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ class MessageComposerFragment : VectorBaseFragment<FragmentComposerBinding>(), A
236236
// Pause voice broadcast if the timeline is not shown anymore
237237
it.isVoiceBroadcasting && !requireActivity().isChangingConfigurations -> timelineViewModel.handle(VoiceBroadcastAction.Recording.Pause)
238238
else -> {
239+
timelineViewModel.handle(VoiceBroadcastAction.Listening.Pause)
239240
messageComposerViewModel.handle(MessageComposerAction.OnEntersBackground(composer.text.toString()))
240241
}
241242
}

vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerViewModel.kt

+4
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import im.vector.app.features.powerlevel.PowerLevelsFlowFactory
4242
import im.vector.app.features.session.coroutineScope
4343
import im.vector.app.features.settings.VectorPreferences
4444
import im.vector.app.features.voicebroadcast.VoiceBroadcastConstants
45+
import im.vector.app.features.voicebroadcast.VoiceBroadcastHelper
4546
import im.vector.app.features.voicebroadcast.model.asVoiceBroadcastEvent
4647
import kotlinx.coroutines.Dispatchers
4748
import kotlinx.coroutines.flow.combine
@@ -84,6 +85,7 @@ class MessageComposerViewModel @AssistedInject constructor(
8485
private val rainbowGenerator: RainbowGenerator,
8586
private val audioMessageHelper: AudioMessageHelper,
8687
private val analyticsTracker: AnalyticsTracker,
88+
private val voiceBroadcastHelper: VoiceBroadcastHelper,
8789
) : VectorViewModel<MessageComposerViewState, MessageComposerAction, MessageComposerViewEvents>(initialState) {
8890

8991
private val room = session.getRoom(initialState.roomId)!!
@@ -981,6 +983,8 @@ class MessageComposerViewModel @AssistedInject constructor(
981983
private fun handleEntersBackground(composerText: String) {
982984
// Always stop all voice actions. It may be playing in timeline or active recording
983985
val playingAudioContent = audioMessageHelper.stopAllVoiceActions(deleteRecord = false)
986+
// TODO remove this when there will be a listening indicator outside of the timeline
987+
voiceBroadcastHelper.pausePlayback()
984988

985989
val isVoiceRecording = com.airbnb.mvrx.withState(this) { it.isVoiceRecording }
986990
if (isVoiceRecording) {

0 commit comments

Comments
 (0)