]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/JsonMessageEnvelope.java
Add output for new message fields
[signal-cli] / src / main / java / org / asamk / signal / JsonMessageEnvelope.java
1 package org.asamk.signal;
2
3 import org.whispersystems.signalservice.api.messages.SignalServiceContent;
4 import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
5 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
6
7 class JsonMessageEnvelope {
8 String source;
9 int sourceDevice;
10 String relay;
11 long timestamp;
12 boolean isReceipt;
13 JsonDataMessage dataMessage;
14 JsonSyncMessage syncMessage;
15 JsonCallMessage callMessage;
16
17 public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) {
18 SignalServiceAddress source = envelope.getSourceAddress();
19 this.source = source.getNumber();
20 this.sourceDevice = envelope.getSourceDevice();
21 this.relay = source.getRelay().isPresent() ? source.getRelay().get() : null;
22 this.timestamp = envelope.getTimestamp();
23 this.isReceipt = envelope.isReceipt();
24 if (content != null) {
25 if (content.getDataMessage().isPresent()) {
26 this.dataMessage = new JsonDataMessage(content.getDataMessage().get());
27 }
28 if (content.getSyncMessage().isPresent()) {
29 this.syncMessage = new JsonSyncMessage(content.getSyncMessage().get());
30 }
31 if (content.getCallMessage().isPresent()) {
32 this.callMessage = new JsonCallMessage(content.getCallMessage().get());
33 }
34 }
35 }
36 }