]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonMention.java
Trust an identity with its scannable safety numbers from the other device
[signal-cli] / src / main / java / org / asamk / signal / json / JsonMention.java
1 package org.asamk.signal.json;
2
3 import com.fasterxml.jackson.annotation.JsonProperty;
4
5 import org.asamk.signal.manager.Manager;
6 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
7 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
8
9 import java.util.UUID;
10
11 import static org.asamk.signal.util.Util.getLegacyIdentifier;
12
13 public class JsonMention {
14
15 @JsonProperty
16 @Deprecated
17 final String name;
18
19 @JsonProperty
20 final String number;
21
22 @JsonProperty
23 final String uuid;
24
25 @JsonProperty
26 final int start;
27
28 @JsonProperty
29 final int length;
30
31 JsonMention(SignalServiceDataMessage.Mention mention, Manager m) {
32 final var address = m.resolveSignalServiceAddress(new SignalServiceAddress(mention.getUuid(), null));
33 this.name = getLegacyIdentifier(address);
34 this.number = address.getNumber().orNull();
35 this.uuid = address.getUuid().transform(UUID::toString).orNull();
36 this.start = mention.getStart();
37 this.length = mention.getLength();
38 }
39 }