]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonMention.java
Remove dead code and fix inspection issues
[signal-cli] / src / main / java / org / asamk / signal / json / JsonMention.java
index b24768b7c38bb1a74dcfc53e6b7d525ffd4124a5..d80010888f9bb66b0b8780c1fa03e07c1ae8a1dc 100644 (file)
@@ -1,36 +1,17 @@
 package org.asamk.signal.json;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
+import org.asamk.signal.manager.api.MessageEnvelope;
 
-import org.asamk.signal.manager.Manager;
-import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
+import java.util.UUID;
 
-import static org.asamk.signal.util.Util.getLegacyIdentifier;
+public record JsonMention(@Deprecated String name, String number, String uuid, int start, int length) {
 
-public class JsonMention {
-
-    @JsonProperty
-    @Deprecated
-    final String name;
-
-    @JsonProperty
-    final String number;
-
-    @JsonProperty
-    final String uuid;
-
-    @JsonProperty
-    final int start;
-
-    @JsonProperty
-    final int length;
-
-    JsonMention(SignalServiceDataMessage.Mention mention, Manager m) {
-        final var address = m.resolveSignalServiceAddress(mention.getUuid());
-        this.name = getLegacyIdentifier(address);
-        this.number = address.getNumber().orNull();
-        this.uuid = address.getUuid().toString();
-        this.start = mention.getStart();
-        this.length = mention.getLength();
+    static JsonMention from(MessageEnvelope.Data.Mention mention) {
+        final var address = mention.recipient();
+        return new JsonMention(address.getLegacyIdentifier(),
+                address.getNumber().orElse(null),
+                address.getUuid().map(UUID::toString).orElse(null),
+                mention.start(),
+                mention.length());
     }
 }