]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/JsonMessageEnvelope.java
Add listContacts subcommand (#248)
[signal-cli] / src / main / java / org / asamk / signal / JsonMessageEnvelope.java
index 2ce39cc5a6e281d25ad61d13033c528d87e04f7f..b0d49ca52d3b7b4734a22e2c77fc6d898fb00e12 100644 (file)
@@ -5,6 +5,7 @@ import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
 
 class JsonMessageEnvelope {
+
     String source;
     int sourceDevice;
     String relay;
@@ -13,6 +14,7 @@ class JsonMessageEnvelope {
     JsonDataMessage dataMessage;
     JsonSyncMessage syncMessage;
     JsonCallMessage callMessage;
+    JsonReceiptMessage receiptMessage;
 
     public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) {
         SignalServiceAddress source = envelope.getSourceAddress();
@@ -22,6 +24,10 @@ class JsonMessageEnvelope {
         this.timestamp = envelope.getTimestamp();
         this.isReceipt = envelope.isReceipt();
         if (content != null) {
+            if (envelope.isUnidentifiedSender()) {
+                this.source = content.getSender();
+                this.sourceDevice = content.getSenderDevice();
+            }
             if (content.getDataMessage().isPresent()) {
                 this.dataMessage = new JsonDataMessage(content.getDataMessage().get());
             }
@@ -31,6 +37,9 @@ class JsonMessageEnvelope {
             if (content.getCallMessage().isPresent()) {
                 this.callMessage = new JsonCallMessage(content.getCallMessage().get());
             }
+            if (content.getReceiptMessage().isPresent()) {
+                this.receiptMessage = new JsonReceiptMessage(content.getReceiptMessage().get());
+            }
         }
     }
 }