X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/ae41d0c5026fe868c6198e1005344fc78b6e0a2c..2ab42ca5471e8fc1e1a31cde954e19564178f114:/src/main/java/org/asamk/signal/json/JsonReceiptMessage.java diff --git a/src/main/java/org/asamk/signal/json/JsonReceiptMessage.java b/src/main/java/org/asamk/signal/json/JsonReceiptMessage.java index 1b896053..5616fdb4 100644 --- a/src/main/java/org/asamk/signal/json/JsonReceiptMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonReceiptMessage.java @@ -1,25 +1,21 @@ package org.asamk.signal.json; -import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage; +import org.asamk.signal.manager.api.MessageEnvelope; import java.util.List; -class JsonReceiptMessage { +record JsonReceiptMessage(long when, boolean isDelivery, boolean isRead, boolean isViewed, List timestamps) { - long when; - boolean isDelivery; - boolean isRead; - List timestamps; - - JsonReceiptMessage(SignalServiceReceiptMessage receiptMessage) { + static JsonReceiptMessage from(MessageEnvelope.Receipt receiptMessage) { + final var when = receiptMessage.when(); + final var isDelivery = receiptMessage.type() == MessageEnvelope.Receipt.Type.DELIVERY; + final var isRead = receiptMessage.type() == MessageEnvelope.Receipt.Type.READ; + final var isViewed = receiptMessage.type() == MessageEnvelope.Receipt.Type.VIEWED; + final var timestamps = receiptMessage.timestamps(); + return new JsonReceiptMessage(when, isDelivery, isRead, isViewed, timestamps); + } - this.when = receiptMessage.getWhen(); - if (receiptMessage.isDeliveryReceipt()) { - this.isDelivery = true; - } - if (receiptMessage.isReadReceipt()) { - this.isRead = true; - } - this.timestamps = receiptMessage.getTimestamps(); + static JsonReceiptMessage deliveryReceipt(final long when, final List timestamps) { + return new JsonReceiptMessage(when, true, false, false, timestamps); } }