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.