]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/JsonSyncMessage.java
Improve receiving unidentified messages
[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
6 import java.util.List;
7
8 enum JsonSyncMessageType {
9 CONTACTS_SYNC,
10 GROUPS_SYNC,
11 REQUEST_SYNC
12 }
13
14 class JsonSyncMessage {
15
16 JsonSyncDataMessage sentMessage;
17 List<String> blockedNumbers;
18 List<ReadMessage> readMessages;
19 JsonSyncMessageType type;
20
21 JsonSyncMessage(SignalServiceSyncMessage syncMessage) {
22 if (syncMessage.getSent().isPresent()) {
23 this.sentMessage = new JsonSyncDataMessage(syncMessage.getSent().get());
24 }
25 if (syncMessage.getBlockedList().isPresent()) {
26 this.blockedNumbers = syncMessage.getBlockedList().get().getNumbers();
27 }
28 if (syncMessage.getRead().isPresent()) {
29 this.readMessages = syncMessage.getRead().get();
30 }
31
32 if (syncMessage.getContacts().isPresent()) {
33 this.type = JsonSyncMessageType.CONTACTS_SYNC;
34 } else if (syncMessage.getGroups().isPresent()) {
35 this.type = JsonSyncMessageType.GROUPS_SYNC;
36 } else if (syncMessage.getRequest().isPresent()) {
37 this.type = JsonSyncMessageType.REQUEST_SYNC;
38 }
39 }
40 }