X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/4608fb433b1af1753bdf73584d5c0f5f9e70f1bf..bc17f9317e09c97907123da06a44b42b67f16b0d:/src/main/java/org/asamk/signal/Main.java diff --git a/src/main/java/org/asamk/signal/Main.java b/src/main/java/org/asamk/signal/Main.java index 4b22605c..16df90d8 100644 --- a/src/main/java/org/asamk/signal/Main.java +++ b/src/main/java/org/asamk/signal/Main.java @@ -665,9 +665,10 @@ public class Main { } @Override - public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, GroupInfo group) { + public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content) { SignalServiceAddress source = envelope.getSourceAddress(); - System.out.println(String.format("Envelope from: %s (device: %d)", source.getNumber(), envelope.getSourceDevice())); + ContactInfo sourceContact = m.getContact(source.getNumber()); + System.out.println(String.format("Envelope from: %s (device: %d)", (sourceContact == null ? "" : "“" + sourceContact.name + "” ") + source.getNumber(), envelope.getSourceDevice())); if (source.getRelay().isPresent()) { System.out.println("Relayed by: " + source.getRelay().get()); } @@ -681,7 +682,7 @@ public class Main { } else { if (content.getDataMessage().isPresent()) { SignalServiceDataMessage message = content.getDataMessage().get(); - handleSignalServiceDataMessage(message, group); + handleSignalServiceDataMessage(message); } if (content.getSyncMessage().isPresent()) { System.out.println("Received a sync message"); @@ -698,7 +699,8 @@ public class Main { if (syncMessage.getRead().isPresent()) { System.out.println("Received sync read messages list"); for (ReadMessage rm : syncMessage.getRead().get()) { - System.out.println("From: " + rm.getSender() + " Message timestamp: " + rm.getTimestamp()); + ContactInfo fromContact = m.getContact(rm.getSender()); + System.out.println("From: " + (fromContact == null ? "" : "“" + fromContact.name + "” ") + rm.getSender() + " Message timestamp: " + rm.getTimestamp()); } } if (syncMessage.getRequest().isPresent()) { @@ -713,9 +715,17 @@ public class Main { if (syncMessage.getSent().isPresent()) { System.out.println("Received sync sent message"); final SentTranscriptMessage sentTranscriptMessage = syncMessage.getSent().get(); - System.out.println("To: " + (sentTranscriptMessage.getDestination().isPresent() ? sentTranscriptMessage.getDestination().get() : "Unknown") + " , Message timestamp: " + sentTranscriptMessage.getTimestamp()); + String to; + if (sentTranscriptMessage.getDestination().isPresent()) { + String dest = sentTranscriptMessage.getDestination().get(); + ContactInfo destContact = m.getContact(dest); + to = (destContact == null ? "" : "“" + destContact.name + "” ") + dest; + } else { + to = "Unknown"; + } + System.out.println("To: " + to + " , Message timestamp: " + sentTranscriptMessage.getTimestamp()); SignalServiceDataMessage message = sentTranscriptMessage.getMessage(); - handleSignalServiceDataMessage(message, null); + handleSignalServiceDataMessage(message); } } } @@ -725,8 +735,7 @@ public class Main { System.out.println(); } - // TODO remove group parameter - private void handleSignalServiceDataMessage(SignalServiceDataMessage message, GroupInfo group) { + private void handleSignalServiceDataMessage(SignalServiceDataMessage message) { System.out.println("Message timestamp: " + message.getTimestamp()); if (message.getBody().isPresent()) { @@ -736,12 +745,15 @@ public class Main { SignalServiceGroup groupInfo = message.getGroupInfo().get(); System.out.println("Group info:"); System.out.println(" Id: " + Base64.encodeBytes(groupInfo.getGroupId())); - if (groupInfo.getName().isPresent()) { + if (groupInfo.getType() == SignalServiceGroup.Type.UPDATE && groupInfo.getName().isPresent()) { System.out.println(" Name: " + groupInfo.getName().get()); - } else if (group != null) { - System.out.println(" Name: " + group.name); } else { - System.out.println(" Name: "); + GroupInfo group = m.getGroup(groupInfo.getGroupId()); + if (group != null) { + System.out.println(" Name: " + group.name); + } else { + System.out.println(" Name: "); + } } System.out.println(" Type: " + groupInfo.getType()); if (groupInfo.getMembers().isPresent()) { @@ -789,8 +801,8 @@ public class Main { } @Override - public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, GroupInfo group) { - super.handleMessage(envelope, content, group); + public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content) { + super.handleMessage(envelope, content); if (!envelope.isReceipt() && content != null && content.getDataMessage().isPresent()) { SignalServiceDataMessage message = content.getDataMessage().get(); @@ -822,17 +834,5 @@ public class Main { } } - private void printAttachment(SignalServiceAttachment attachment) { - System.out.println("- " + attachment.getContentType() + " (" + (attachment.isPointer() ? "Pointer" : "") + (attachment.isStream() ? "Stream" : "") + ")"); - if (attachment.isPointer()) { - final SignalServiceAttachmentPointer pointer = attachment.asPointer(); - System.out.println(" Id: " + pointer.getId() + " Key length: " + pointer.getKey().length + (pointer.getRelay().isPresent() ? " Relay: " + pointer.getRelay().get() : "")); - System.out.println(" Size: " + (pointer.getSize().isPresent() ? pointer.getSize().get() + " bytes" : "") + (pointer.getPreview().isPresent() ? " (Preview is available: " + pointer.getPreview().get().length + " bytes)" : "")); - File file = m.getAttachmentFile(pointer.getId()); - if (file.exists()) { - System.out.println(" Stored plaintext in: " + file); - } - } - } } }