]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonSyncDataMessage.java
Refactor NoteToSelf to singleton class
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSyncDataMessage.java
index 7ea75bbdbdd4d5e60d31e6377e26db5411dc264b..e2c92bac2e8a2a4c17d7ddcf3b8fb95a980f42e4 100644 (file)
@@ -1,22 +1,44 @@
 package org.asamk.signal.json;
 
+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 static org.asamk.signal.util.Util.getLegacyIdentifier;
+
 class JsonSyncDataMessage extends JsonDataMessage {
 
-    String destination;
+    @JsonProperty
+    @Deprecated
+    final String destination;
+
+    @JsonProperty
+    final String destinationNumber;
+
+    @JsonProperty
+    final String destinationUuid;
 
     JsonSyncDataMessage(SentTranscriptMessage transcriptMessage, Manager m) {
         super(transcriptMessage.getMessage(), m);
+
         if (transcriptMessage.getDestination().isPresent()) {
-            this.destination = transcriptMessage.getDestination().get().getLegacyIdentifier();
+            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;
     }
 }