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 bb70fedd8..0c25a3b5b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/SlideDeck.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/SlideDeck.java @@ -151,9 +151,9 @@ public class SlideDeck { return null; } - public @Nullable String getFirstSlideContentType() { + public @Nullable Slide getFirstSlide() { if (Util.hasItems(slides)) { - return slides.get(0).getContentType(); + return slides.get(0); } return null; diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationItemV2.kt b/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationItemV2.kt index 16b7eeaf9..381a4b0fa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationItemV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationItemV2.kt @@ -61,15 +61,22 @@ sealed class NotificationItemV2(val threadRecipient: Recipient, protected val re val thumbnailSlide: Slide? = messageRecord.slideDeck.thumbnailSlide return if (thumbnailSlide == null) { - val slideContentType: String? = messageRecord.slideDeck.firstSlideContentType - if (slideContentType != null) { - slideContentType + val slide: Slide? = messageRecord.slideDeck.firstSlide + + if (slide != null && slide.isVideoGif) { + MediaUtil.IMAGE_GIF + } else if (slide != null) { + slide.contentType } else { - Log.w(TAG, "Could not distinguish view-once content type from message record, defaulting to JPEG") + Log.w(TAG, "Could not distinguish content type from message record, defaulting to JPEG") MediaUtil.IMAGE_JPEG } } else { - thumbnailSlide.contentType + if (thumbnailSlide.isVideoGif) { + MediaUtil.IMAGE_GIF + } else { + thumbnailSlide.contentType + } } } @@ -283,6 +290,8 @@ class ReactionNotification(threadRecipient: Recipient, record: MessageRecord, va context.getString(R.string.MessageNotifier_reacted_s_to_s, EMOJI_REPLACEMENT_STRING, body) } else if (record.isMediaMessage() && MediaUtil.isVideoType(getMessageContentType((record as MmsMessageRecord)))) { context.getString(R.string.MessageNotifier_reacted_s_to_your_video, EMOJI_REPLACEMENT_STRING) + } else if (record.isMediaMessage() && MediaUtil.isGif(getMessageContentType((record as MmsMessageRecord)))) { + context.getString(R.string.MessageNotifier_reacted_s_to_your_gif, EMOJI_REPLACEMENT_STRING) } else if (record.isMediaMessage() && MediaUtil.isImageType(getMessageContentType((record as MmsMessageRecord)))) { context.getString(R.string.MessageNotifier_reacted_s_to_your_image, EMOJI_REPLACEMENT_STRING) } else if (record.isMediaMessage() && MediaUtil.isAudioType(getMessageContentType((record as MmsMessageRecord)))) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 999f7c0a0..e7c1af0b8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1781,6 +1781,7 @@ Reacted %1$s to: \"%2$s\". Reacted %1$s to your video. Reacted %1$s to your image. + Reacted %1$s to your GIF. Reacted %1$s to your file. Reacted %1$s to your audio. Reacted %1$s to your view-once media.