]> nmode's Git Repositories - signal-cli/commitdiff
Add basic sealed sender support
authorkpcyrd <git@rxv.cc>
Mon, 11 Nov 2019 03:34:04 +0000 (04:34 +0100)
committerAsamK <asamk@gmx.de>
Mon, 11 Nov 2019 18:27:11 +0000 (19:27 +0100)
src/main/java/org/asamk/signal/JsonMessageEnvelope.java
src/main/java/org/asamk/signal/ReceiveMessageHandler.java

index e7003130b72a4a956ef7e31491db76e6010d4686..9484ce2e59cb37a09407ee4a1c81c38400273189 100644 (file)
@@ -19,6 +19,9 @@ class JsonMessageEnvelope {
     public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) {
         SignalServiceAddress source = envelope.getSourceAddress();
         this.source = source.getNumber();
+        if (this.source.equals("")) {
+            this.source = content.getSender();
+        }
         this.sourceDevice = envelope.getSourceDevice();
         this.relay = source.getRelay().isPresent() ? source.getRelay().get() : null;
         this.timestamp = envelope.getTimestamp();
index eeac7cb5de225eaed4a55ef766140ae3cabe89c8..71f00baacb8f4202f63af963d98458b49cd03aa7 100644 (file)
@@ -43,8 +43,12 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
     @Override
     public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception) {
         SignalServiceAddress source = envelope.getSourceAddress();
-        ContactInfo sourceContact = m.getContact(source.getNumber());
-        System.out.println(String.format("Envelope from: %s (device: %d)", (sourceContact == null ? "" : "“" + sourceContact.name + "” ") + source.getNumber(), envelope.getSourceDevice()));
+        String sender = source.getNumber();
+        if (sender.equals("")) {
+            sender = content.getSender();
+        }
+        ContactInfo sourceContact = m.getContact(sender);
+        System.out.println(String.format("Envelope from: %s (device: %d)", (sourceContact == null ? "" : "“" + sourceContact.name + "” ") + sender, envelope.getSourceDevice()));
         if (source.getRelay().isPresent()) {
             System.out.println("Relayed by: " + source.getRelay().get());
         }