From 65461ce86f66c287acac41d6751ae1a93327b076 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Mon, 9 Nov 2020 14:11:00 -0500 Subject: [PATCH] Fix incorrect reaction notification copy for various attachment types. Fixes #10141. Thanks to @Sgn-32 for the initial PR. --- .../java/org/thoughtcrime/securesms/mms/SlideDeck.java | 9 +++++++++ .../securesms/notifications/DefaultMessageNotifier.java | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/SlideDeck.java b/app/src/main/java/org/thoughtcrime/securesms/mms/SlideDeck.java index aabca8a1f1..2e0ddcddce 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/SlideDeck.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/SlideDeck.java @@ -24,6 +24,7 @@ import com.annimon.stream.Stream; import org.thoughtcrime.securesms.attachments.Attachment; import org.thoughtcrime.securesms.util.MediaUtil; +import org.thoughtcrime.securesms.util.Util; import org.whispersystems.libsignal.util.guava.Optional; import java.util.LinkedList; @@ -148,4 +149,12 @@ public class SlideDeck { return null; } + + public @Nullable String getFirstSlideContentType() { + if (Util.hasItems(slides)) { + return slides.get(0).getContentType(); + } + + return null; + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.java index 6be502e81e..425e4cb79d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/DefaultMessageNotifier.java @@ -650,6 +650,10 @@ public class DefaultMessageNotifier implements MessageNotifier { private static String getMessageContentType(@NonNull MmsMessageRecord messageRecord) { Slide thumbnailSlide = messageRecord.getSlideDeck().getThumbnailSlide(); if (thumbnailSlide == null) { + String slideContentType = messageRecord.getSlideDeck().getFirstSlideContentType(); + if (slideContentType != null) { + return slideContentType; + } Log.w(TAG, "Could not distinguish view-once content type from message record, defaulting to JPEG"); return MediaUtil.IMAGE_JPEG; }