]> 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 71f00baacb8f4202f63af963d98458b49cd03aa7..d11597a9c7b1ada03190fe523a11f794c0f99cb8 100644 (file)
@@ -44,11 +44,13 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
     public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception) {
         SignalServiceAddress source = envelope.getSourceAddress();
         String sender = source.getNumber();
     public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception) {
         SignalServiceAddress source = envelope.getSourceAddress();
         String sender = source.getNumber();
+        int senderDeviceId = envelope.getSourceDevice();
         if (sender.equals("")) {
             sender = content.getSender();
         if (sender.equals("")) {
             sender = content.getSender();
+            senderDeviceId = content.getSenderDevice();
         }
         ContactInfo sourceContact = m.getContact(sender);
         }
         ContactInfo sourceContact = m.getContact(sender);
-        System.out.println(String.format("Envelope from: %s (device: %d)", (sourceContact == null ? "" : "“" + sourceContact.name + "” ") + sender, envelope.getSourceDevice()));
+        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());
         }
         if (source.getRelay().isPresent()) {
             System.out.println("Relayed by: " + source.getRelay().get());
         }