X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/62696fbc67aca074fc75ba3476bfb725a6fdb48b..1b56485fc8ce1d82d1e5e8aaeca82bcd39bc7c26:/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 6b597c87..326ec4ed 100644 --- a/src/main/java/org/asamk/signal/JsonSyncMessage.java +++ b/src/main/java/org/asamk/signal/JsonSyncMessage.java @@ -2,24 +2,44 @@ 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 +} + class JsonSyncMessage { JsonSyncDataMessage sentMessage; List blockedNumbers; List readMessages; + 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(); + 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; + } } }