]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java
Update libsignal-service-java
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSyncDataMessage.java
index d93351f16d01b5a2b1da1fc7de6dd9817b2cea52..e2c92bac2e8a2a4c17d7ddcf3b8fb95a980f42e4 100644 (file)
@@ -5,23 +5,40 @@ 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 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().toString();
+        } 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;
     }
 }