X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/717120aed1982d45a93f02e71b08085c723fcee8..4f1ee8347564d4c26a36df6b959ea69f6406abe1:/src/main/java/org/asamk/signal/JsonSyncMessage.java diff --git a/src/main/java/org/asamk/signal/JsonSyncMessage.java b/src/main/java/org/asamk/signal/JsonSyncMessage.java index 623f2c07..326ec4ed 100644 --- a/src/main/java/org/asamk/signal/JsonSyncMessage.java +++ b/src/main/java/org/asamk/signal/JsonSyncMessage.java @@ -2,13 +2,15 @@ package org.asamk.signal; import org.whispersystems.signalservice.api.messages.multidevice.ReadMessage; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; +import org.whispersystems.signalservice.api.push.SignalServiceAddress; +import java.util.ArrayList; import java.util.List; enum JsonSyncMessageType { - CONTACTS_SYNC, - GROUPS_SYNC, - REQUEST_SYNC + CONTACTS_SYNC, + GROUPS_SYNC, + REQUEST_SYNC } class JsonSyncMessage { @@ -19,22 +21,25 @@ class JsonSyncMessage { JsonSyncMessageType type; JsonSyncMessage(SignalServiceSyncMessage syncMessage) { - if (syncMessage.getSent().isPresent()) { - this.sentMessage = new JsonSyncDataMessage(syncMessage.getSent().get()); - } - if (syncMessage.getBlockedList().isPresent()) { - this.blockedNumbers = syncMessage.getBlockedList().get().getNumbers(); - } - if (syncMessage.getRead().isPresent()) { - this.readMessages = syncMessage.getRead().get(); - } + if (syncMessage.getSent().isPresent()) { + this.sentMessage = new JsonSyncDataMessage(syncMessage.getSent().get()); + } + if (syncMessage.getBlockedList().isPresent()) { + this.blockedNumbers = new ArrayList<>(syncMessage.getBlockedList().get().getAddresses().size()); + for (SignalServiceAddress address : syncMessage.getBlockedList().get().getAddresses()) { + this.blockedNumbers.add(address.getNumber().get()); + } + } + if (syncMessage.getRead().isPresent()) { + this.readMessages = syncMessage.getRead().get(); + } - if (syncMessage.getContacts().isPresent()) { - this.type = JsonSyncMessageType.CONTACTS_SYNC; - } else if (syncMessage.getGroups().isPresent()) { - this.type = JsonSyncMessageType.GROUPS_SYNC; - } else if (syncMessage.getRequest().isPresent()) { - this.type = JsonSyncMessageType.REQUEST_SYNC; - } - } + if (syncMessage.getContacts().isPresent()) { + this.type = JsonSyncMessageType.CONTACTS_SYNC; + } else if (syncMessage.getGroups().isPresent()) { + this.type = JsonSyncMessageType.GROUPS_SYNC; + } else if (syncMessage.getRequest().isPresent()) { + this.type = JsonSyncMessageType.REQUEST_SYNC; + } + } }