From e036c8992f1ddbd81526de0646fce633395fdb0c Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Thu, 8 Aug 2024 16:41:46 -0400 Subject: [PATCH] Don't display erroneous remaining time in video player. --- .../mediapreview/MediaPreviewPlayerControlView.kt | 11 ++++++++--- .../org/thoughtcrime/securesms/video/VideoPlayer.java | 2 -- 2 files changed, 8 insertions(+), 5 deletions(-) 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 e0bc2334fb..8569f6fb4d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewPlayerControlView.kt @@ -22,6 +22,7 @@ import com.airbnb.lottie.model.KeyPath import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.util.MediaUtil import org.thoughtcrime.securesms.util.visible +import kotlin.time.Duration import kotlin.time.DurationUnit import kotlin.time.toDuration @@ -74,9 +75,13 @@ class MediaPreviewPlayerControlView @JvmOverloads constructor( setProgressUpdateListener { position, _ -> val finalPlayer = player ?: return@setProgressUpdateListener val remainingDuration = (finalPlayer.duration - position).toDuration(DurationUnit.MILLISECONDS) - val minutes: Long = remainingDuration.inWholeMinutes - val seconds: Long = remainingDuration.inWholeSeconds % 60 - durationLabel.text = "–${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}" + if (remainingDuration >= Duration.ZERO) { + val minutes: Long = remainingDuration.inWholeMinutes + val seconds: Long = remainingDuration.inWholeSeconds % 60 + durationLabel.text = "–${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}" + } else { + durationLabel.text = "" + } } } else { setProgressUpdateListener(null) diff --git a/app/src/main/java/org/thoughtcrime/securesms/video/VideoPlayer.java b/app/src/main/java/org/thoughtcrime/securesms/video/VideoPlayer.java index 1fcf4394cb..edf6e1cc32 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/video/VideoPlayer.java +++ b/app/src/main/java/org/thoughtcrime/securesms/video/VideoPlayer.java @@ -25,7 +25,6 @@ import android.widget.FrameLayout; import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import androidx.annotation.OptIn; import androidx.media3.common.C; import androidx.media3.common.MediaItem; @@ -48,7 +47,6 @@ import org.thoughtcrime.securesms.mediapreview.MediaPreviewPlayerControlView; import org.thoughtcrime.securesms.mms.VideoSlide; import java.util.Objects; -import java.util.concurrent.TimeUnit; @OptIn(markerClass = UnstableApi.class) public class VideoPlayer extends FrameLayout {