From 9fa3c03048024d9d2530b80eb2ed81bc57d71bba Mon Sep 17 00:00:00 2001 From: adbenitez Date: Sun, 1 Oct 2023 00:48:44 +0200 Subject: [PATCH] reset seekbar to zero on init, fix equals() for AudioSlide --- src/org/thoughtcrime/securesms/components/AudioView.java | 3 ++- src/org/thoughtcrime/securesms/mms/AudioSlide.java | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/org/thoughtcrime/securesms/components/AudioView.java b/src/org/thoughtcrime/securesms/components/AudioView.java index 1a1c3e90c..04474eca5 100644 --- a/src/org/thoughtcrime/securesms/components/AudioView.java +++ b/src/org/thoughtcrime/securesms/components/AudioView.java @@ -80,6 +80,7 @@ public class AudioView extends FrameLayout implements AudioSlidePlayer.Listener { controlToggle.displayQuick(playButton); seekBar.setEnabled(true); + seekBar.setProgress(0); audioSlidePlayer = AudioSlidePlayer.createFor(getContext(), audio, this); timestamp.setText(DateUtils.getFormatedDuration(duration)); @@ -155,7 +156,7 @@ public class AudioView extends FrameLayout implements AudioSlidePlayer.Listener @Override public void onProgress(AudioSlide slide, double progress, long millis) { - if (audioSlidePlayer.getAudioSlide().getDcMsgId() != slide.getDcMsgId()) { + if (!audioSlidePlayer.getAudioSlide().equals(slide)) { return; } int seekProgress = (int) Math.floor(progress * this.seekBar.getMax()); diff --git a/src/org/thoughtcrime/securesms/mms/AudioSlide.java b/src/org/thoughtcrime/securesms/mms/AudioSlide.java index 5f4136e53..421c2db62 100644 --- a/src/org/thoughtcrime/securesms/mms/AudioSlide.java +++ b/src/org/thoughtcrime/securesms/mms/AudioSlide.java @@ -45,6 +45,13 @@ public class AudioSlide extends Slide { super(context, new UriAttachment(uri, null, contentType, AttachmentDatabase.TRANSFER_PROGRESS_STARTED, dataSize, 0, 0, null, null, voiceNote)); } + @Override + public boolean equals(Object other) { + if (other == null) return false; + if (!(other instanceof AudioSlide)) return false; + return this.getDcMsgId() == ((AudioSlide)other).getDcMsgId(); + } + @Override @Nullable public Uri getThumbnailUri() {