From 3bd4a4ccd3ece851ac3de5c4c4e1e11a406efc33 Mon Sep 17 00:00:00 2001 From: Onuray Sahin Date: Thu, 3 Mar 2022 19:54:13 +0300 Subject: [PATCH] Fix voice recorder start/pause states. --- .../home/room/detail/composer/VoiceMessageHelper.kt | 6 ++++-- .../detail/timeline/helper/VoiceMessagePlaybackTracker.kt | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageHelper.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageHelper.kt index b6a8dc2cd5..6bde4ada3d 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageHelper.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageHelper.kt @@ -132,9 +132,11 @@ class VoiceMessageHelper @Inject constructor( } fun startOrPausePlayback(id: String, file: File) { - stopPlayback() + val playbackState = playbackTracker.getPlaybackState(id) + mediaPlayer?.stop() + stopPlaybackTicker() stopRecordingAmplitudes() - if (playbackTracker.getPlaybackState(id) is VoiceMessagePlaybackTracker.Listener.State.Playing) { + if (playbackState is VoiceMessagePlaybackTracker.Listener.State.Playing) { playbackTracker.pausePlayback(id) } else { startPlayback(id, file) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/VoiceMessagePlaybackTracker.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/VoiceMessagePlaybackTracker.kt index 076c05b9c4..8167ad94af 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/VoiceMessagePlaybackTracker.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/VoiceMessagePlaybackTracker.kt @@ -115,7 +115,7 @@ class VoiceMessagePlaybackTracker @Inject constructor() { } } - fun getPercentage(id: String): Float { + private fun getPercentage(id: String): Float { return when (val state = states[id]) { is Listener.State.Playing -> state.percentage is Listener.State.Paused -> state.percentage