]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonMention.java
Refactor Manager interface
[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 static org.asamk.signal.util.Util.getLegacyIdentifier;
10
11 public class JsonMention {
12
13 @JsonProperty
14 @Deprecated
15 final String name;
16
17 @JsonProperty
18 final String number;
19
20 @JsonProperty
21 final String uuid;
22
23 @JsonProperty
24 final int start;
25
26 @JsonProperty
27 final int length;
28
29 JsonMention(SignalServiceDataMessage.Mention mention, Manager m) {
30 final var address = m.resolveSignalServiceAddress(new SignalServiceAddress(mention.getUuid()));
31 this.name = getLegacyIdentifier(address);
32 this.number = address.getNumber().orNull();
33 this.uuid = address.getUuid().toString();
34 this.start = mention.getStart();
35 this.length = mention.getLength();
36 }
37 }