From 847f3bf08c77f0021af14fee7d6c9703fbaad14c Mon Sep 17 00:00:00 2001 From: Sagar <85388413+Sagar0-0@users.noreply.github.com> Date: Wed, 23 Apr 2025 20:14:47 +0530 Subject: [PATCH] Pause and play video correctly on TimeBar scrub drag. --- .../mediapreview/MediaPreviewPlayerControlView.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt index 9f0c931b78..09aab3646f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt @@ -47,6 +47,8 @@ class MediaPreviewPlayerControlView @JvmOverloads constructor( private val shareButton: ImageButton = findViewById(R.id.exo_share) private val forwardButton: ImageButton = findViewById(R.id.exo_forward) + private var wasPlaying: Boolean = false + enum class MediaMode { IMAGE, VIDEO; @@ -77,6 +79,8 @@ class MediaPreviewPlayerControlView @JvmOverloads constructor( exoProgress.addListener( object : TimeBar.OnScrubListener { override fun onScrubStart(p0: TimeBar, position: Long) { + wasPlaying = player?.isPlaying == true + player?.pause() updateTimeLabels(position) } @@ -86,6 +90,9 @@ class MediaPreviewPlayerControlView @JvmOverloads constructor( override fun onScrubStop(p0: TimeBar, position: Long, p2: Boolean) { updateTimeLabels(position) + if (wasPlaying) { + player?.play() + } } } )