X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/415b65d2080822030aebe53cc0b752a722d713aa..d13d150fe1c6b21dd53617cf7996d2876bc5db58:/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java diff --git a/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java b/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java index 93296a1c..84a866d0 100644 --- a/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java +++ b/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java @@ -708,15 +708,27 @@ public class ManagerImpl implements Manager { messageBuilder.withAttachments(attachmentHelper.uploadAttachments(attachments)); } if (message.mentions().size() > 0) { - final var mentions = new ArrayList(); - for (final var m : message.mentions()) { - final var recipientId = resolveRecipient(m.recipient()); - mentions.add(new SignalServiceDataMessage.Mention(resolveSignalServiceAddress(recipientId).getAci(), - m.start(), - m.length())); - } - messageBuilder.withMentions(mentions); + messageBuilder.withMentions(resolveMentions(message.mentions())); + } + if (message.quote().isPresent()) { + final var quote = message.quote().get(); + messageBuilder.withQuote(new SignalServiceDataMessage.Quote(quote.timestamp(), + resolveSignalServiceAddress(resolveRecipient(quote.author())), + quote.message(), + List.of(), + resolveMentions(quote.mentions()))); + } + } + + private ArrayList resolveMentions(final List mentionList) throws IOException { + final var mentions = new ArrayList(); + for (final var m : mentionList) { + final var recipientId = resolveRecipient(m.recipient()); + mentions.add(new SignalServiceDataMessage.Mention(resolveSignalServiceAddress(recipientId).getAci(), + m.start(), + m.length())); } + return mentions; } @Override