From: AsamK Date: Tue, 22 Dec 2020 23:18:21 +0000 (+0100) Subject: Download quote attachment thumbnails and slightly improve the quote output X-Git-Tag: v0.7.2~16 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/548c313b4ca373559c14f3746d31c0b6cb9a721b Download quote attachment thumbnails and slightly improve the quote output --- diff --git a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java index 5925b2b8..7ef89d19 100644 --- a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java +++ b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java @@ -452,9 +452,9 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler { if (quote.getAttachments().size() > 0) { System.out.println(" Attachments: "); for (SignalServiceDataMessage.Quote.QuotedAttachment attachment : quote.getAttachments()) { - System.out.println(" Filename: " + attachment.getFileName()); - System.out.println(" Type: " + attachment.getContentType()); - System.out.println(" Thumbnail:"); + System.out.println(" - Filename: " + attachment.getFileName()); + System.out.println(" Type: " + attachment.getContentType()); + System.out.println(" Thumbnail:"); if (attachment.getThumbnail() != null) { printAttachment(attachment.getThumbnail()); } diff --git a/src/main/java/org/asamk/signal/manager/Manager.java b/src/main/java/org/asamk/signal/manager/Manager.java index ab063d1b..8a46846f 100644 --- a/src/main/java/org/asamk/signal/manager/Manager.java +++ b/src/main/java/org/asamk/signal/manager/Manager.java @@ -1690,6 +1690,23 @@ public class Manager implements Closeable { } } } + if (message.getQuote().isPresent()) { + final SignalServiceDataMessage.Quote quote = message.getQuote().get(); + + for (SignalServiceDataMessage.Quote.QuotedAttachment quotedAttachment : quote.getAttachments()) { + final SignalServiceAttachment attachment = quotedAttachment.getThumbnail(); + if (attachment != null && attachment.isPointer()) { + try { + retrieveAttachment(attachment.asPointer()); + } catch (IOException | InvalidMessageException | MissingConfigurationException e) { + System.err.println("Failed to retrieve attachment (" + + attachment.asPointer().getRemoteId() + + "): " + + e.getMessage()); + } + } + } + } if (message.getSticker().isPresent()) { final SignalServiceDataMessage.Sticker messageSticker = message.getSticker().get(); Sticker sticker = account.getStickerStore().getSticker(messageSticker.getPackId());