1 package org
.asamk
.signal
.json
;
3 import org
.asamk
.Signal
;
4 import org
.whispersystems
.signalservice
.api
.messages
.SignalServiceContent
;
5 import org
.whispersystems
.signalservice
.api
.messages
.SignalServiceEnvelope
;
6 import org
.whispersystems
.signalservice
.api
.push
.SignalServiceAddress
;
8 public class JsonMessageEnvelope
{
15 JsonDataMessage dataMessage
;
16 JsonSyncMessage syncMessage
;
17 JsonCallMessage callMessage
;
18 JsonReceiptMessage receiptMessage
;
20 public JsonMessageEnvelope(SignalServiceEnvelope envelope
, SignalServiceContent content
) {
21 if (!envelope
.isUnidentifiedSender() && envelope
.hasSource()) {
22 SignalServiceAddress source
= envelope
.getSourceAddress();
23 this.source
= source
.getLegacyIdentifier();
24 this.relay
= source
.getRelay().isPresent() ? source
.getRelay().get() : null;
26 this.sourceDevice
= envelope
.getSourceDevice();
27 this.timestamp
= envelope
.getTimestamp();
28 this.isReceipt
= envelope
.isReceipt();
29 if (content
!= null) {
30 if (envelope
.isUnidentifiedSender()) {
31 this.source
= content
.getSender().getLegacyIdentifier();
32 this.sourceDevice
= content
.getSenderDevice();
34 if (content
.getDataMessage().isPresent()) {
35 this.dataMessage
= new JsonDataMessage(content
.getDataMessage().get());
37 if (content
.getSyncMessage().isPresent()) {
38 this.syncMessage
= new JsonSyncMessage(content
.getSyncMessage().get());
40 if (content
.getCallMessage().isPresent()) {
41 this.callMessage
= new JsonCallMessage(content
.getCallMessage().get());
43 if (content
.getReceiptMessage().isPresent()) {
44 this.receiptMessage
= new JsonReceiptMessage(content
.getReceiptMessage().get());
49 public JsonMessageEnvelope(Signal
.MessageReceived messageReceived
) {
50 source
= messageReceived
.getSender();
51 timestamp
= messageReceived
.getTimestamp();
52 dataMessage
= new JsonDataMessage(messageReceived
);
55 public JsonMessageEnvelope(Signal
.ReceiptReceived receiptReceived
) {
56 source
= receiptReceived
.getSender();
57 timestamp
= receiptReceived
.getTimestamp();
61 public JsonMessageEnvelope(Signal
.SyncMessageReceived messageReceived
) {
62 source
= messageReceived
.getSource();
63 timestamp
= messageReceived
.getTimestamp();
64 syncMessage
= new JsonSyncMessage(messageReceived
);