1 package org
.asamk
.signal
.json
;
3 import org
.asamk
.Signal
;
4 import org
.asamk
.signal
.manager
.Manager
;
5 import org
.whispersystems
.signalservice
.api
.messages
.multidevice
.ReadMessage
;
6 import org
.whispersystems
.signalservice
.api
.messages
.multidevice
.SignalServiceSyncMessage
;
7 import org
.whispersystems
.signalservice
.api
.push
.SignalServiceAddress
;
9 import java
.util
.ArrayList
;
10 import java
.util
.List
;
12 enum JsonSyncMessageType
{
18 class JsonSyncMessage
{
20 JsonSyncDataMessage sentMessage
;
21 List
<String
> blockedNumbers
;
22 List
<ReadMessage
> readMessages
;
23 JsonSyncMessageType type
;
25 JsonSyncMessage(SignalServiceSyncMessage syncMessage
, Manager m
) {
26 if (syncMessage
.getSent().isPresent()) {
27 this.sentMessage
= new JsonSyncDataMessage(syncMessage
.getSent().get(), m
);
29 if (syncMessage
.getBlockedList().isPresent()) {
30 this.blockedNumbers
= new ArrayList
<>(syncMessage
.getBlockedList().get().getAddresses().size());
31 for (SignalServiceAddress address
: syncMessage
.getBlockedList().get().getAddresses()) {
32 this.blockedNumbers
.add(address
.getLegacyIdentifier());
35 if (syncMessage
.getRead().isPresent()) {
36 this.readMessages
= syncMessage
.getRead().get();
39 if (syncMessage
.getContacts().isPresent()) {
40 this.type
= JsonSyncMessageType
.CONTACTS_SYNC
;
41 } else if (syncMessage
.getGroups().isPresent()) {
42 this.type
= JsonSyncMessageType
.GROUPS_SYNC
;
43 } else if (syncMessage
.getRequest().isPresent()) {
44 this.type
= JsonSyncMessageType
.REQUEST_SYNC
;
48 JsonSyncMessage(Signal
.SyncMessageReceived messageReceived
) {
49 sentMessage
= new JsonSyncDataMessage(messageReceived
);