X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/46a4c2c0d0a36b7f230fc2c2d47aa371a6e02d35..06e93b84da2718c31111e820cd35a3354f22bae2:/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 e32009e1..ec61b2f1 100644 --- a/src/main/java/org/asamk/signal/json/JsonReceiptMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonReceiptMessage.java @@ -1,42 +1,17 @@ package org.asamk.signal.json; -import com.fasterxml.jackson.annotation.JsonProperty; - -import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage; +import org.asamk.signal.manager.api.MessageEnvelope; import java.util.List; -class JsonReceiptMessage { - - @JsonProperty - final long when; - - @JsonProperty - final boolean isDelivery; - - @JsonProperty - final boolean isRead; - - @JsonProperty - final List timestamps; - - JsonReceiptMessage(SignalServiceReceiptMessage receiptMessage) { - this.when = receiptMessage.getWhen(); - this.isDelivery = receiptMessage.isDeliveryReceipt(); - this.isRead = receiptMessage.isReadReceipt(); - 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; - } +record JsonReceiptMessage(long when, boolean isDelivery, boolean isRead, boolean isViewed, List 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); } }