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 {
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
}

View file

@ -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
}