]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonReceiptMessage.java
update deliveryReceipt to conform
[signal-cli] / src / main / java / org / asamk / signal / json / JsonReceiptMessage.java
1 package org.asamk.signal.json;
2
3 import com.fasterxml.jackson.annotation.JsonProperty;
4
5 import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage;
6
7 import java.util.List;
8
9 class JsonReceiptMessage {
10
11 @JsonProperty
12 final long when;
13
14 @JsonProperty
15 final boolean isDelivery;
16
17 @JsonProperty
18 final boolean isRead;
19
20 @JsonProperty
21 final boolean isViewed;
22
23 @JsonProperty
24 final List<Long> timestamps;
25
26 JsonReceiptMessage(SignalServiceReceiptMessage receiptMessage) {
27 this.when = receiptMessage.getWhen();
28 this.isDelivery = receiptMessage.isDeliveryReceipt();
29 this.isRead = receiptMessage.isReadReceipt();
30 this.isViewed = receiptMessage.isViewedReceipt();
31 this.timestamps = receiptMessage.getTimestamps();
32 }
33
34 private JsonReceiptMessage(
35 final long when, final boolean isDelivery, final boolean isRead, final boolean isViewed, final List<Long> timestamps
36 ) {
37 this.when = when;
38 this.isDelivery = isDelivery;
39 this.isRead = isRead;
40 this.isViewed = isViewed;
41 this.timestamps = timestamps;
42 }
43
44 static JsonReceiptMessage deliveryReceipt(final long when, final List<Long> timestamps) {
45 return new JsonReceiptMessage(when, true, false, false, timestamps);
46 }
47 }