]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java
Adapt json output to always use receiptMessage and remove isReceipt field
[signal-cli] / src / main / java / org / asamk / signal / json / JsonMessageEnvelope.java
index 3279d9419482206a9575777ac52bb7a0f664012a..5e5e6a33f53bad75942ffba487e014bca13fd9d5 100644 (file)
@@ -5,13 +5,14 @@ import org.whispersystems.signalservice.api.messages.SignalServiceContent;
 import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
 
+import java.util.List;
+
 public class JsonMessageEnvelope {
 
     String source;
     int sourceDevice;
     String relay;
     long timestamp;
-    boolean isReceipt;
     JsonDataMessage dataMessage;
     JsonSyncMessage syncMessage;
     JsonCallMessage callMessage;
@@ -20,15 +21,17 @@ public class JsonMessageEnvelope {
     public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) {
         if (!envelope.isUnidentifiedSender() && envelope.hasSource()) {
             SignalServiceAddress source = envelope.getSourceAddress();
-            this.source = source.getNumber().get();
+            this.source = source.getLegacyIdentifier();
             this.relay = source.getRelay().isPresent() ? source.getRelay().get() : null;
         }
         this.sourceDevice = envelope.getSourceDevice();
         this.timestamp = envelope.getTimestamp();
-        this.isReceipt = envelope.isReceipt();
+        if (envelope.isReceipt()) {
+            this.receiptMessage = JsonReceiptMessage.deliveryReceipt(timestamp, List.of(timestamp));
+        }
         if (content != null) {
             if (envelope.isUnidentifiedSender()) {
-                this.source = content.getSender().getNumber().get();
+                this.source = content.getSender().getLegacyIdentifier();
                 this.sourceDevice = content.getSenderDevice();
             }
             if (content.getDataMessage().isPresent()) {
@@ -55,7 +58,7 @@ public class JsonMessageEnvelope {
     public JsonMessageEnvelope(Signal.ReceiptReceived receiptReceived) {
         source = receiptReceived.getSender();
         timestamp = receiptReceived.getTimestamp();
-        isReceipt = true;
+        receiptMessage = JsonReceiptMessage.deliveryReceipt(timestamp, List.of(timestamp));
     }
 
     public JsonMessageEnvelope(Signal.SyncMessageReceived messageReceived) {