mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
Ensure sending pauses audio
This commit is contained in:
+1
@@ -149,6 +149,7 @@ class VoiceMessageComposerPresenter @Inject constructor(
|
|||||||
return@lambda
|
return@lambda
|
||||||
}
|
}
|
||||||
isSending = true
|
isSending = true
|
||||||
|
player.pause()
|
||||||
appCoroutineScope.sendMessage(
|
appCoroutineScope.sendMessage(
|
||||||
file = finishedState.file,
|
file = finishedState.file,
|
||||||
mimeType = finishedState.mimeType,
|
mimeType = finishedState.mimeType,
|
||||||
|
|||||||
+23
@@ -251,6 +251,29 @@ class VoiceMessageComposerPresenterTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `present - send while playing`() = runTest {
|
||||||
|
val presenter = createVoiceMessageComposerPresenter()
|
||||||
|
moleculeFlow(RecompositionMode.Immediate) {
|
||||||
|
presenter.present()
|
||||||
|
}.test {
|
||||||
|
awaitItem().eventSink(VoiceMessageComposerEvents.RecordButtonEvent(PressEvent.PressStart))
|
||||||
|
awaitItem().eventSink(VoiceMessageComposerEvents.RecordButtonEvent(PressEvent.LongPressEnd))
|
||||||
|
awaitItem().eventSink(VoiceMessageComposerEvents.PlayerEvent(VoiceMessagePlayerEvent.Play))
|
||||||
|
awaitItem().eventSink(VoiceMessageComposerEvents.SendVoiceMessage)
|
||||||
|
assertThat(awaitItem().voiceMessageState).isEqualTo(aPreviewState(
|
||||||
|
isSending = true, isPlaying = false,
|
||||||
|
))
|
||||||
|
|
||||||
|
val finalState = awaitItem()
|
||||||
|
assertThat(finalState.voiceMessageState).isEqualTo(VoiceMessageState.Idle)
|
||||||
|
assertThat(matrixRoom.sendMediaCount).isEqualTo(1)
|
||||||
|
voiceRecorder.assertCalls(started = 1, stopped = 1, deleted = 1)
|
||||||
|
|
||||||
|
testPauseAndDestroy(finalState)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `present - send recording before previous completed, waits`() = runTest {
|
fun `present - send recording before previous completed, waits`() = runTest {
|
||||||
val presenter = createVoiceMessageComposerPresenter()
|
val presenter = createVoiceMessageComposerPresenter()
|
||||||
|
|||||||
Reference in New Issue
Block a user