]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/JsonDataMessage.java
Return message timestamp after sucessfully sending a message
[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 import org.whispersystems.signalservice.api.messages.SignalServiceGroup;
6
7 import java.util.ArrayList;
8 import java.util.List;
9
10 class JsonDataMessage {
11
12 long timestamp;
13 String message;
14 int expiresInSeconds;
15 List<JsonAttachment> attachments;
16 JsonGroupInfo groupInfo;
17
18 JsonDataMessage(SignalServiceDataMessage dataMessage) {
19 this.timestamp = dataMessage.getTimestamp();
20 if (dataMessage.getGroupContext().isPresent() && dataMessage.getGroupContext().get().getGroupV1().isPresent()) {
21 SignalServiceGroup groupInfo = dataMessage.getGroupContext().get().getGroupV1().get();
22 this.groupInfo = new JsonGroupInfo(groupInfo);
23 }
24 if (dataMessage.getBody().isPresent()) {
25 this.message = dataMessage.getBody().get();
26 }
27 this.expiresInSeconds = dataMessage.getExpiresInSeconds();
28 if (dataMessage.getAttachments().isPresent()) {
29 this.attachments = new ArrayList<>(dataMessage.getAttachments().get().size());
30 for (SignalServiceAttachment attachment : dataMessage.getAttachments().get()) {
31 this.attachments.add(new JsonAttachment(attachment));
32 }
33 } else {
34 this.attachments = new ArrayList<>();
35 }
36 }
37 }