Fix resuming voice note playback after long press.

Resolves #13913
This commit is contained in:
Sagar 2025-01-15 12:59:25 +05:30 committed by Greyson Parrelli
parent be44ef9c0a
commit dea2094e3e
2 changed files with 5 additions and 5 deletions

View file

@ -314,7 +314,7 @@ class VoiceNoteMediaController(val activity: FragmentActivity, private var postp
inner class PlaybackStateListener : Player.Listener { inner class PlaybackStateListener : Player.Listener {
override fun onEvents(player: Player, events: Player.Events) { override fun onEvents(player: Player, events: Player.Events) {
super.onEvents(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()) { if (!isActivityResumed()) {
return return
} }

View file

@ -3237,7 +3237,7 @@ class ConversationFragment :
binding.conversationItemRecycler.suppressLayout(false) binding.conversationItemRecycler.suppressLayout(false)
if (selectedConversationModel.audioUri != null) { if (selectedConversationModel.audioUri != null) {
getVoiceNoteMediaController().resumePlayback(selectedConversationModel.audioUri, messageRecord.getId()) getVoiceNoteMediaController().resumePlayback(selectedConversationModel.audioUri, messageRecord.id)
} }
WindowUtil.setLightStatusBarFromTheme(requireActivity()) WindowUtil.setLightStatusBarFromTheme(requireActivity())
@ -3307,12 +3307,12 @@ class ConversationFragment :
} }
private fun MessageRecord.getAudioUriForLongClick(): Uri? { private fun MessageRecord.getAudioUriForLongClick(): Uri? {
val playbackState = getVoiceNoteMediaController().voiceNotePlaybackState.value if (!hasAudio()) {
if (playbackState == null || !playbackState.isPlaying) {
return null return null
} }
if (hasAudio() || !isMms) { val playbackState = getVoiceNoteMediaController().voiceNotePlaybackState.value
if (playbackState == null || !playbackState.isPlaying) {
return null return null
} }