From d35d22c7d8a7571eae930f1efd87be80ab59656c Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Wed, 6 Sep 2023 11:53:41 -0400 Subject: [PATCH] Fix voice note playback for single voice notes. --- .../components/voice/VoiceNotePlaybackService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackService.java b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackService.java index 2be2274d85..c5fc696b9e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackService.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackService.java @@ -111,6 +111,7 @@ public class VoiceNotePlaybackService extends MediaSessionService { } private class VoiceNotePlayerEventListener implements Player.Listener { + private int previousPlaybackState = player.getPlaybackState(); @Override public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) { @@ -123,6 +124,7 @@ public class VoiceNotePlaybackService extends MediaSessionService { } private void onPlaybackStateChanged(boolean playWhenReady, int playbackState) { + Log.d(TAG, "playWhenReady: " + playWhenReady + "\nplaybackState: " + playbackState); switch (playbackState) { case Player.STATE_BUFFERING: case Player.STATE_READY: @@ -134,10 +136,13 @@ public class VoiceNotePlaybackService extends MediaSessionService { } break; case Player.STATE_ENDED: - player.clearMediaItems(); + if (previousPlaybackState == Player.STATE_READY) { + player.clearMediaItems(); + } break; default: } + previousPlaybackState = playbackState; } @Override