1 package org
.asamk
.signal
;
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
;
7 import java
.util
.ArrayList
;
10 enum JsonSyncMessageType
{
16 class JsonSyncMessage
{
18 JsonSyncDataMessage sentMessage
;
19 List
<String
> blockedNumbers
;
20 List
<ReadMessage
> readMessages
;
21 JsonSyncMessageType type
;
23 JsonSyncMessage(SignalServiceSyncMessage syncMessage
) {
24 if (syncMessage
.getSent().isPresent()) {
25 this.sentMessage
= new JsonSyncDataMessage(syncMessage
.getSent().get());
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());
33 if (syncMessage
.getRead().isPresent()) {
34 this.readMessages
= syncMessage
.getRead().get();
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
;