]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/storage/contacts/ContactInfo.java
Refactor Manager and SignalAccount to implement Closeable
[signal-cli] / src / main / java / org / asamk / signal / storage / contacts / ContactInfo.java
1 package org.asamk.signal.storage.contacts;
2
3 import com.fasterxml.jackson.annotation.JsonIgnore;
4 import com.fasterxml.jackson.annotation.JsonProperty;
5
6 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
7
8 import java.util.UUID;
9
10 public class ContactInfo {
11
12 @JsonProperty
13 public String name;
14
15 @JsonProperty
16 public String number;
17
18 @JsonProperty
19 public UUID uuid;
20
21 @JsonProperty
22 public String color;
23
24 @JsonProperty(defaultValue = "0")
25 public int messageExpirationTime;
26
27 @JsonProperty
28 public String profileKey;
29
30 @JsonProperty(defaultValue = "false")
31 public boolean blocked;
32
33 @JsonProperty
34 public Integer inboxPosition;
35
36 @JsonProperty(defaultValue = "false")
37 public boolean archived;
38
39 public ContactInfo() {
40 }
41
42 public ContactInfo(SignalServiceAddress address) {
43 this.number = address.getNumber().orNull();
44 this.uuid = address.getUuid().orNull();
45 }
46
47 @JsonIgnore
48 public SignalServiceAddress getAddress() {
49 return new SignalServiceAddress(uuid, number);
50 }
51 }