]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/JsonDataMessage.java
eda54025e8036d528ec0c3cdd585b0e8bb9973b3
[signal-cli] / src / main / java / org / asamk / signal / JsonDataMessage.java
1 package org.asamk.signal;
2
3 import org.whispersystems.signalservice.api.messages.SignalServiceAttachment;
4 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
5
6 import java.util.ArrayList;
7 import java.util.List;
8
9 class JsonDataMessage {
10 long timestamp;
11 String message;
12 int expiresInSeconds;
13 List<JsonAttachment> attachments;
14 JsonGroupInfo groupInfo;
15
16 JsonDataMessage(SignalServiceDataMessage dataMessage) {
17 this.timestamp = dataMessage.getTimestamp();
18 if (dataMessage.getGroupInfo().isPresent()) {
19 this.groupInfo = new JsonGroupInfo(dataMessage.getGroupInfo().get());
20 }
21 if (dataMessage.getBody().isPresent()) {
22 this.message = dataMessage.getBody().get();
23 }
24 this.expiresInSeconds = dataMessage.getExpiresInSeconds();
25 if (dataMessage.getAttachments().isPresent()) {
26 this.attachments = new ArrayList<>(dataMessage.getAttachments().get().size());
27 for (SignalServiceAttachment attachment : dataMessage.getAttachments().get()) {
28 this.attachments.add(new JsonAttachment(attachment));
29 }
30 } else {
31 this.attachments = new ArrayList<>();
32 }
33 }
34 }