]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonReceiptMessage.java
Merge branch 'master' into dbus_sendviewed
[signal-cli] / src / main / java / org / asamk / signal / json / JsonReceiptMessage.java
index b2ab7f75597eb5e5f5d08476f6e83d71f0d3b78b..1199c790270054aa08293ded2c116e825820f942 100644 (file)
@@ -4,33 +4,18 @@ import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage
 
 import java.util.List;
 
 
 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();
-    }
-
-    private JsonReceiptMessage(final long when, final boolean isDelivery, final boolean isRead, final List<Long> timestamps) {
-        this.when = when;
-        this.isDelivery = isDelivery;
-        this.isRead = isRead;
-        this.timestamps = timestamps;
+record JsonReceiptMessage(long when, boolean isDelivery, boolean isRead, boolean isViewed, List<Long> timestamps) {
+
+    static JsonReceiptMessage from(SignalServiceReceiptMessage receiptMessage) {
+        final var when = receiptMessage.getWhen();
+        final var isDelivery = receiptMessage.isDeliveryReceipt();
+        final var isRead = receiptMessage.isReadReceipt();
+        final var isViewed = receiptMessage.isViewedReceipt();
+        final var timestamps = receiptMessage.getTimestamps();
+        return new JsonReceiptMessage(when, isDelivery, isRead, isViewed, timestamps);
     }
 
     static JsonReceiptMessage deliveryReceipt(final long when, final List<Long> timestamps) {
     }
 
     static JsonReceiptMessage deliveryReceipt(final long when, final List<Long> timestamps) {
-        return new JsonReceiptMessage(when, true, false, timestamps);
+        return new JsonReceiptMessage(when, true, false, false, false, timestamps);
     }
 }
     }
 }