X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/6cfddc0aff5785930c2264da683ba92a66963b73..3b2682a57a07cf9a66809346f0e14031b758683d:/src/main/java/org/asamk/signal/manager/Manager.java diff --git a/src/main/java/org/asamk/signal/manager/Manager.java b/src/main/java/org/asamk/signal/manager/Manager.java index 04bef98e..54d3f922 100644 --- a/src/main/java/org/asamk/signal/manager/Manager.java +++ b/src/main/java/org/asamk/signal/manager/Manager.java @@ -1049,6 +1049,19 @@ public class Manager implements Signal { } contact.profileKey = Base64.encodeBytes(message.getProfileKey().get()); } + if (message.getPreviews().isPresent()) { + final List previews = message.getPreviews().get(); + for (SignalServiceDataMessage.Preview preview : previews) { + if (preview.getImage().isPresent() && preview.getImage().get().isPointer()) { + SignalServiceAttachmentPointer attachment = preview.getImage().get().asPointer(); + try { + retrieveAttachment(attachment); + } catch (IOException | InvalidMessageException e) { + System.err.println("Failed to retrieve attachment (" + attachment.getId() + "): " + e.getMessage()); + } + } + } + } } private void retryFailedReceivedMessages(ReceiveMessageHandler handler, boolean ignoreAttachments) {