X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/46a4c2c0d0a36b7f230fc2c2d47aa371a6e02d35..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 d93351f1..28c9d936 100644 --- a/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java @@ -5,23 +5,42 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.asamk.Signal; import org.asamk.signal.manager.Manager; import org.whispersystems.signalservice.api.messages.multidevice.SentTranscriptMessage; -import org.whispersystems.signalservice.api.push.SignalServiceAddress; + +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(SignalServiceAddress::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; } }