X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/591c0fe8a3744608575a6dcb1f6f4f9f818948d2..1ea4309a2ac1e1c368f7ce6a3e1b5dcdf0e0635a:/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 ccd5960b..ec61b2f1 100644 --- a/src/main/java/org/asamk/signal/json/JsonReceiptMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonReceiptMessage.java @@ -1,38 +1,17 @@ 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) { - - 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 timestamps - ) { - this.when = when; - this.isDelivery = isDelivery; - this.isRead = isRead; - this.timestamps = timestamps; - } - - static JsonReceiptMessage deliveryReceipt(final long when, final List timestamps) { - return new JsonReceiptMessage(when, true, false, timestamps); + 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); } }