JsonDataMessage dataMessage;
JsonSyncMessage syncMessage;
JsonCallMessage callMessage;
+ JsonReceiptMessage receiptMessage;
public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) {
SignalServiceAddress source = envelope.getSourceAddress();
if (content.getCallMessage().isPresent()) {
this.callMessage = new JsonCallMessage(content.getCallMessage().get());
}
+ if (content.getReceiptMessage().isPresent()) {
+ this.receiptMessage = new JsonReceiptMessage(content.getReceiptMessage().get());
+ }
}
}
}
--- /dev/null
+package org.asamk.signal;
+
+import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage;
+
+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();
+ }
+}