From 9b83c5e2834c53aa6d848ee261480fded0a41028 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 24 Mar 2022 11:06:30 -0300 Subject: [PATCH] Ensure we do not send captions for non-story messages. --- .../securesms/database/AttachmentDatabase.java | 10 +++++++--- .../org/thoughtcrime/securesms/sms/MessageSender.java | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentDatabase.java index 1553925cb..a46248959 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentDatabase.java @@ -36,6 +36,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.json.JSONArray; import org.json.JSONException; +import org.signal.core.util.CursorUtil; +import org.signal.core.util.SqlUtil; import org.signal.core.util.StreamUtil; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.attachments.Attachment; @@ -54,12 +56,10 @@ import org.thoughtcrime.securesms.mms.PartAuthority; import org.thoughtcrime.securesms.mms.SentMediaQuality; import org.thoughtcrime.securesms.stickers.StickerLocator; import org.thoughtcrime.securesms.util.Base64; -import org.signal.core.util.CursorUtil; import org.thoughtcrime.securesms.util.FileUtils; import org.thoughtcrime.securesms.util.JsonUtils; import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.SetUtil; -import org.signal.core.util.SqlUtil; import org.thoughtcrime.securesms.util.StorageUtil; import org.thoughtcrime.securesms.video.EncryptedMediaDataSource; import org.whispersystems.signalservice.internal.util.JsonUtil; @@ -744,7 +744,7 @@ public class AttachmentDatabase extends Database { return databaseAttachment; } - public void updateMessageId(@NonNull Collection attachmentIds, long mmsId) { + public void updateMessageId(@NonNull Collection attachmentIds, long mmsId, boolean isStory) { SQLiteDatabase db = databaseHelper.getSignalWritableDatabase(); db.beginTransaction(); @@ -752,6 +752,10 @@ public class AttachmentDatabase extends Database { ContentValues values = new ContentValues(1); values.put(MMS_ID, mmsId); + if (!isStory) { + values.putNull(CAPTION); + } + for (AttachmentId attachmentId : attachmentIds) { db.update(TABLE_NAME, values, PART_ID_WHERE, attachmentId.toStrings()); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/sms/MessageSender.java b/app/src/main/java/org/thoughtcrime/securesms/sms/MessageSender.java index 2a365115c..4ad4f928e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sms/MessageSender.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sms/MessageSender.java @@ -191,7 +191,7 @@ public class MessageSender { List attachmentIds = Stream.of(preUploadResults).map(PreUploadResult::getAttachmentId).toList(); List jobIds = Stream.of(preUploadResults).map(PreUploadResult::getJobIds).flatMap(Stream::of).toList(); - attachmentDatabase.updateMessageId(attachmentIds, messageId); + attachmentDatabase.updateMessageId(attachmentIds, messageId, message.getStoryType().isStory()); sendMediaMessage(context, recipient, false, messageId, jobIds); onMessageSent(); @@ -227,7 +227,7 @@ public class MessageSender { false, null); - attachmentDatabase.updateMessageId(preUploadAttachmentIds, primaryMessageId); + attachmentDatabase.updateMessageId(preUploadAttachmentIds, primaryMessageId, primaryMessage.getStoryType().isStory()); messageIds.add(primaryMessageId); if (messages.size() > 0) { @@ -255,7 +255,7 @@ public class MessageSender { attachmentIds.add(attachmentId); } - attachmentDatabase.updateMessageId(attachmentIds, messageId); + attachmentDatabase.updateMessageId(attachmentIds, messageId, secondaryMessage.getStoryType().isStory()); messageIds.add(messageId); }