]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/ReceiveMessageHandler.java
Use correct sender device for receiving sealed messages
[signal-cli] / src / main / java / org / asamk / signal / ReceiveMessageHandler.java
index eeac7cb5de225eaed4a55ef766140ae3cabe89c8..d11597a9c7b1ada03190fe523a11f794c0f99cb8 100644 (file)
@@ -43,8 +43,14 @@ 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();
+        int senderDeviceId = envelope.getSourceDevice();
+        if (sender.equals("")) {
+            sender = content.getSender();
+            senderDeviceId = content.getSenderDevice();
+        }
+        ContactInfo sourceContact = m.getContact(sender);
+        System.out.println(String.format("Envelope from: %s (device: %d)", (sourceContact == null ? "" : "“" + sourceContact.name + "” ") + sender, senderDeviceId));
         if (source.getRelay().isPresent()) {
             System.out.println("Relayed by: " + source.getRelay().get());
         }