]> nmode's Git Repositories - signal-cli/commitdiff
Added ReceiptMessage to JSON output
authorGabriel Fernández Valdés <gabriel@raciantau.com>
Mon, 23 Sep 2019 16:31:55 +0000 (12:31 -0400)
committerAsamK <asamk@gmx.de>
Sun, 29 Sep 2019 10:47:51 +0000 (12:47 +0200)
src/main/java/org/asamk/signal/JsonMessageEnvelope.java
src/main/java/org/asamk/signal/JsonReceiptMessage.java [new file with mode: 0644]

index 9971b01192c3a279aa3a62712be42702b1280812..e7003130b72a4a956ef7e31491db76e6010d4686 100644 (file)
@@ -14,6 +14,7 @@ class JsonMessageEnvelope {
     JsonDataMessage dataMessage;
     JsonSyncMessage syncMessage;
     JsonCallMessage callMessage;
+    JsonReceiptMessage receiptMessage;
 
     public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) {
         SignalServiceAddress source = envelope.getSourceAddress();
@@ -32,6 +33,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());
+            }
         }
     }
 }
diff --git a/src/main/java/org/asamk/signal/JsonReceiptMessage.java b/src/main/java/org/asamk/signal/JsonReceiptMessage.java
new file mode 100644 (file)
index 0000000..fd875af
--- /dev/null
@@ -0,0 +1,25 @@
+package org.asamk.signal;
+
+import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage;
+
+import java.util.List;
+
+class JsonReceiptMessage {
+
+    long when;
+    boolean isDelivery;
+    boolean isRead;
+    List<Long> timestamps;
+
+    JsonReceiptMessage(SignalServiceReceiptMessage receiptMessage) {
+
+        this.when = receiptMessage.getWhen();
+        if (receiptMessage.isDeliveryReceipt()) {
+            this.isDelivery = true;
+        }
+        if (receiptMessage.isReadReceipt()) {
+            this.isRead = true;
+        }
+        this.timestamps = receiptMessage.getTimestamps();
+    }
+}