]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java
Update libsignal-service-java
[signal-cli] / src / main / java / org / asamk / signal / json / JsonMessageEnvelope.java
index e53b5ca55c35b3376743d7a8aedc043fff1ede90..7b884b0e3887588013854933ab7013c0356b35d8 100644 (file)
@@ -5,13 +5,13 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 
 import org.asamk.Signal;
 import org.asamk.signal.manager.Manager;
-import org.signal.libsignal.metadata.ProtocolUntrustedIdentityException;
+import org.asamk.signal.manager.UntrustedIdentityException;
+import org.asamk.signal.manager.api.RecipientIdentifier;
 import org.whispersystems.signalservice.api.messages.SignalServiceContent;
 import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
 import org.whispersystems.signalservice.api.util.InvalidNumberException;
 
 import java.util.List;
-import java.util.UUID;
 
 import static org.asamk.signal.util.Util.getLegacyIdentifier;
 
@@ -33,10 +33,6 @@ public class JsonMessageEnvelope {
     @JsonProperty
     final Integer sourceDevice;
 
-    @JsonProperty
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    final String relay;
-
     @JsonProperty
     final long timestamp;
 
@@ -63,38 +59,34 @@ public class JsonMessageEnvelope {
     public JsonMessageEnvelope(
             SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception, Manager m
     ) {
-        if (!envelope.isUnidentifiedSender() && envelope.hasSource()) {
-            var source = envelope.getSourceAddress();
+        if (!envelope.isUnidentifiedSender() && envelope.hasSourceUuid()) {
+            var source = m.resolveSignalServiceAddress(envelope.getSourceAddress());
             this.source = getLegacyIdentifier(source);
             this.sourceNumber = source.getNumber().orNull();
-            this.sourceUuid = source.getUuid().transform(UUID::toString).orNull();
+            this.sourceUuid = source.getUuid().toString();
             this.sourceDevice = envelope.getSourceDevice();
-            this.relay = source.getRelay().orNull();
         } else if (envelope.isUnidentifiedSender() && content != null) {
-            final var source = content.getSender();
+            final var source = m.resolveSignalServiceAddress(content.getSender());
             this.source = getLegacyIdentifier(source);
             this.sourceNumber = source.getNumber().orNull();
-            this.sourceUuid = source.getUuid().transform(UUID::toString).orNull();
+            this.sourceUuid = source.getUuid().toString();
             this.sourceDevice = content.getSenderDevice();
-            this.relay = null;
-        } else if (exception instanceof ProtocolUntrustedIdentityException) {
-            var e = (ProtocolUntrustedIdentityException) exception;
+        } else if (exception instanceof UntrustedIdentityException) {
+            var e = (UntrustedIdentityException) exception;
             final var source = m.resolveSignalServiceAddress(e.getSender());
             this.source = getLegacyIdentifier(source);
             this.sourceNumber = source.getNumber().orNull();
-            this.sourceUuid = source.getUuid().transform(UUID::toString).orNull();
+            this.sourceUuid = source.getUuid().toString();
             this.sourceDevice = e.getSenderDevice();
-            this.relay = null;
         } else {
             this.source = null;
             this.sourceNumber = null;
             this.sourceUuid = null;
             this.sourceDevice = null;
-            this.relay = null;
         }
         String name;
         try {
-            name = m.getContactOrProfileName(this.source);
+            name = m.getContactOrProfileName(RecipientIdentifier.Single.fromString(this.source, m.getUsername()));
         } catch (InvalidNumberException | NullPointerException e) {
             name = null;
         }
@@ -128,7 +120,6 @@ public class JsonMessageEnvelope {
         sourceUuid = null;
         sourceName = null;
         sourceDevice = null;
-        relay = null;
         timestamp = messageReceived.getTimestamp();
         receiptMessage = null;
         dataMessage = new JsonDataMessage(messageReceived);
@@ -143,7 +134,6 @@ public class JsonMessageEnvelope {
         sourceUuid = null;
         sourceName = null;
         sourceDevice = null;
-        relay = null;
         timestamp = receiptReceived.getTimestamp();
         receiptMessage = JsonReceiptMessage.deliveryReceipt(timestamp, List.of(timestamp));
         dataMessage = null;
@@ -158,7 +148,6 @@ public class JsonMessageEnvelope {
         sourceUuid = null;
         sourceName = null;
         sourceDevice = null;
-        relay = null;
         timestamp = messageReceived.getTimestamp();
         receiptMessage = null;
         dataMessage = null;