X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/fbbd194e40d0051989431b01dfe7c38ddd50203e..35c00f1b2a7376a28714bd191a27fe75454d59aa:/src/main/java/org/asamk/signal/Main.java?ds=sidebyside diff --git a/src/main/java/org/asamk/signal/Main.java b/src/main/java/org/asamk/signal/Main.java index d50b4395..7fc520b9 100644 --- a/src/main/java/org/asamk/signal/Main.java +++ b/src/main/java/org/asamk/signal/Main.java @@ -1182,7 +1182,9 @@ public class Main { System.out.println(" Filename: " + attachment.getFileName()); System.out.println(" Type: " + attachment.getContentType()); System.out.println(" Thumbnail:"); - printAttachment(attachment.getThumbnail()); + if (attachment.getThumbnail() != null) { + printAttachment(attachment.getThumbnail()); + } } } } @@ -1224,44 +1226,7 @@ public class Main { public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception) { super.handleMessage(envelope, content, exception); - if (envelope.isReceipt()) { - try { - conn.sendSignal(new Signal.ReceiptReceived( - SIGNAL_OBJECTPATH, - envelope.getTimestamp(), - envelope.getSource() - )); - } catch (DBusException e) { - e.printStackTrace(); - } - } else if (content != null && content.getDataMessage().isPresent()) { - SignalServiceDataMessage message = content.getDataMessage().get(); - - if (!message.isEndSession() && - !(message.getGroupInfo().isPresent() && - message.getGroupInfo().get().getType() != SignalServiceGroup.Type.DELIVER)) { - List attachments = new ArrayList<>(); - if (message.getAttachments().isPresent()) { - for (SignalServiceAttachment attachment : message.getAttachments().get()) { - if (attachment.isPointer()) { - attachments.add(m.getAttachmentFile(attachment.asPointer().getId()).getAbsolutePath()); - } - } - } - - try { - conn.sendSignal(new Signal.MessageReceived( - SIGNAL_OBJECTPATH, - message.getTimestamp(), - envelope.getSource(), - message.getGroupInfo().isPresent() ? message.getGroupInfo().get().getGroupId() : new byte[0], - message.getBody().isPresent() ? message.getBody().get() : "", - attachments)); - } catch (DBusException e) { - e.printStackTrace(); - } - } - } + JsonDbusReceiveMessageHandler.sendReceivedMessageToDbus(envelope, content, conn, m); } } @@ -1308,6 +1273,10 @@ public class Main { public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception) { super.handleMessage(envelope, content, exception); + sendReceivedMessageToDbus(envelope, content, conn, m); + } + + private static void sendReceivedMessageToDbus(SignalServiceEnvelope envelope, SignalServiceContent content, DBusConnection conn, Manager m) { if (envelope.isReceipt()) { try { conn.sendSignal(new Signal.ReceiptReceived(