Fix multiple text attachments when forwarding to multiple recipients.

Fixes #13593
This commit is contained in:
Cody Henthorne
2024-06-21 13:50:39 -04:00
committed by Greyson Parrelli
parent b806952430
commit 16c8b88f0f
2 changed files with 13 additions and 7 deletions

View File

@@ -45,6 +45,10 @@ public class SlideDeck {
if (slide != null) slides.add(slide);
}
public SlideDeck(SlideDeck otherSlideDeck) {
slides.addAll(otherSlideDeck.slides);
}
public SlideDeck() {
}

View File

@@ -86,12 +86,12 @@ public final class MultiShareSender {
List<MultiShareSendResult> results = new ArrayList<>(multiShareArgs.getContactSearchKeys().size());
Context context = AppDependencies.getApplication();
String message = multiShareArgs.getDraftText();
SlideDeck slideDeck;
SlideDeck primarySlideDeck;
List<OutgoingMessage> storiesBatch = new LinkedList<>();
ChatColors generatedTextStoryBackgroundColor = TextStoryBackgroundColors.getRandomBackgroundColor();
try {
slideDeck = buildSlideDeck(context, multiShareArgs);
primarySlideDeck = buildSlideDeck(context, multiShareArgs);
} catch (SlideNotFoundException e) {
Log.w(TAG, "Could not create slide for media message");
for (ContactSearchKey.RecipientSearchKey recipientSearchKey : multiShareArgs.getRecipientSearchKeys()) {
@@ -110,6 +110,8 @@ public final class MultiShareSender {
MessageSendType sendType = MessageSendType.SignalMessageSendType.INSTANCE;
long expiresIn = TimeUnit.SECONDS.toMillis(recipient.getExpiresInSeconds());
List<Contact> contacts = multiShareArgs.getSharedContacts();
SlideDeck slideDeck = new SlideDeck(primarySlideDeck);
boolean needsSplit = message != null &&
message.length() > sendType.calculateCharacters(message).maxPrimaryMessageSize;
boolean hasMmsMedia = !multiShareArgs.getMedia().isEmpty() ||