X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/73e137137d272811b01ed053f57e0161e476d90a..5bbfd3259891e18a11cb878e14a9c17990b13d79:/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java diff --git a/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java b/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java index c9d88790..28c9d936 100644 --- a/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java @@ -4,22 +4,43 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.asamk.Signal; import org.asamk.signal.manager.Manager; -import org.asamk.signal.util.Util; import org.whispersystems.signalservice.api.messages.multidevice.SentTranscriptMessage; +import java.util.UUID; + +import static org.asamk.signal.util.Util.getLegacyIdentifier; + class JsonSyncDataMessage extends JsonDataMessage { @JsonProperty + @Deprecated final String destination; + @JsonProperty + final String destinationNumber; + + @JsonProperty + final String destinationUuid; + JsonSyncDataMessage(SentTranscriptMessage transcriptMessage, Manager m) { super(transcriptMessage.getMessage(), m); - this.destination = transcriptMessage.getDestination().transform(Util::getLegacyIdentifier).orNull(); + if (transcriptMessage.getDestination().isPresent()) { + final var address = transcriptMessage.getDestination().get(); + this.destination = getLegacyIdentifier(address); + this.destinationNumber = address.getNumber().orNull(); + this.destinationUuid = address.getUuid().transform(UUID::toString).orNull(); + } else { + this.destination = null; + this.destinationNumber = null; + this.destinationUuid = null; + } } JsonSyncDataMessage(Signal.SyncMessageReceived messageReceived) { super(messageReceived); - destination = messageReceived.getDestination(); + this.destination = messageReceived.getDestination(); + this.destinationNumber = null; + this.destinationUuid = null; } }