X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/35c72f692f13b12594ecdbe8f59f31d3b396d356..e2b7bda65ba728a0a747bb0bac6fbe1e56fd2de8:/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 febf64a4..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 { - JsonDataMessage sentMessage; + JsonSyncDataMessage sentMessage; List blockedNumbers; List readMessages; + JsonSyncMessageType type; JsonSyncMessage(SignalServiceSyncMessage syncMessage) { if (syncMessage.getSent().isPresent()) { - this.sentMessage = new JsonDataMessage(syncMessage.getSent().get().getMessage()); + 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; + } } }