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 aea4a37147..bdf5851508 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 @@ -115,24 +115,23 @@ public class VoiceNotePlaybackService extends MediaSessionService { @Override public void onPlaybackStateChanged(int playbackState) { - Log.d(TAG, "[onPlaybackStateChanged] playbackState: " + playbackState); boolean playWhenReady = player.getPlayWhenReady(); + Log.d(TAG, "[onPlaybackStateChanged] playbackState: " + playbackStateToString(playbackState) + "\tplayWhenReady: " + playWhenReady); switch (playbackState) { - case Player.STATE_BUFFERING: - case Player.STATE_READY: - + case Player.STATE_BUFFERING, Player.STATE_READY -> { if (!playWhenReady) { stopForeground(false); } else { sendViewedReceiptForCurrentWindowIndex(); } - break; - case Player.STATE_ENDED: + } + case Player.STATE_ENDED -> { if (previousPlaybackState == Player.STATE_READY) { player.clearMediaItems(); } - break; - default: + } + default -> { + } } previousPlaybackState = playbackState; } @@ -361,4 +360,14 @@ public class VoiceNotePlaybackService extends MediaSessionService { Log.e(TAG, "Could not start VoiceNotePlaybackService, encountered a ForegroundServiceStartNotAllowedException."); } } + + private String playbackStateToString(int playbackState) { + return switch (playbackState) { + case Player.STATE_IDLE -> "Player.STATE_IDLE"; + case Player.STATE_BUFFERING -> "Player.STATE_BUFFERING"; + case Player.STATE_READY -> "Player.STATE_READY"; + case Player.STATE_ENDED -> "Player.STATE_ENDED"; + default -> "UNKNOWN(" + playbackState + ")"; + }; + } }