]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/JsonSyncMessage.java
Reformat project
[signal-cli] / src / main / java / org / asamk / signal / JsonSyncMessage.java
1 package org.asamk.signal;
2
3 import org.whispersystems.signalservice.api.messages.multidevice.ReadMessage;
4 import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage;
5 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
6
7 import java.util.ArrayList;
8 import java.util.List;
9
10 enum JsonSyncMessageType {
11 CONTACTS_SYNC,
12 GROUPS_SYNC,
13 REQUEST_SYNC
14 }
15
16 class JsonSyncMessage {
17
18 JsonSyncDataMessage sentMessage;
19 List<String> blockedNumbers;
20 List<ReadMessage> readMessages;
21 JsonSyncMessageType type;
22
23 JsonSyncMessage(SignalServiceSyncMessage syncMessage) {
24 if (syncMessage.getSent().isPresent()) {
25 this.sentMessage = new JsonSyncDataMessage(syncMessage.getSent().get());
26 }
27 if (syncMessage.getBlockedList().isPresent()) {
28 this.blockedNumbers = new ArrayList<>(syncMessage.getBlockedList().get().getAddresses().size());
29 for (SignalServiceAddress address : syncMessage.getBlockedList().get().getAddresses()) {
30 this.blockedNumbers.add(address.getNumber().get());
31 }
32 }
33 if (syncMessage.getRead().isPresent()) {
34 this.readMessages = syncMessage.getRead().get();
35 }
36
37 if (syncMessage.getContacts().isPresent()) {
38 this.type = JsonSyncMessageType.CONTACTS_SYNC;
39 } else if (syncMessage.getGroups().isPresent()) {
40 this.type = JsonSyncMessageType.GROUPS_SYNC;
41 } else if (syncMessage.getRequest().isPresent()) {
42 this.type = JsonSyncMessageType.REQUEST_SYNC;
43 }
44 }
45 }