From dea2094e3e4df44556e28a22c7472d7194a2bced Mon Sep 17 00:00:00 2001 From: Sagar Date: Wed, 15 Jan 2025 12:59:25 +0530 Subject: [PATCH] Fix resuming voice note playback after long press. Resolves #13913 --- .../components/voice/VoiceNoteMediaController.kt | 2 +- .../securesms/conversation/v2/ConversationFragment.kt | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNoteMediaController.kt b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNoteMediaController.kt index 99e2cc4786..27d5bd2e14 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNoteMediaController.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNoteMediaController.kt @@ -314,7 +314,7 @@ class VoiceNoteMediaController(val activity: FragmentActivity, private var postp inner class PlaybackStateListener : Player.Listener { override fun onEvents(player: Player, events: Player.Events) { super.onEvents(player, events) - if (events.contains(Player.EVENT_PLAYBACK_STATE_CHANGED)) { + if (events.contains(Player.EVENT_PLAYBACK_STATE_CHANGED) || events.contains(Player.EVENT_IS_PLAYING_CHANGED)) { if (!isActivityResumed()) { return } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt index 5606abad74..ff7d7717eb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt @@ -3237,7 +3237,7 @@ class ConversationFragment : binding.conversationItemRecycler.suppressLayout(false) if (selectedConversationModel.audioUri != null) { - getVoiceNoteMediaController().resumePlayback(selectedConversationModel.audioUri, messageRecord.getId()) + getVoiceNoteMediaController().resumePlayback(selectedConversationModel.audioUri, messageRecord.id) } WindowUtil.setLightStatusBarFromTheme(requireActivity()) @@ -3307,12 +3307,12 @@ class ConversationFragment : } private fun MessageRecord.getAudioUriForLongClick(): Uri? { - val playbackState = getVoiceNoteMediaController().voiceNotePlaybackState.value - if (playbackState == null || !playbackState.isPlaying) { + if (!hasAudio()) { return null } - if (hasAudio() || !isMms) { + val playbackState = getVoiceNoteMediaController().voiceNotePlaybackState.value + if (playbackState == null || !playbackState.isPlaying) { return null }