]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/storage/profiles/SignalProfile.java
Cache profiles for 24h before retrieving them again
[signal-cli] / src / main / java / org / asamk / signal / storage / profiles / SignalProfile.java
1 package org.asamk.signal.storage.profiles;
2
3 import com.fasterxml.jackson.annotation.JsonProperty;
4
5 import org.whispersystems.signalservice.api.profiles.SignalServiceProfile;
6
7 import java.io.File;
8
9 public class SignalProfile {
10
11 @JsonProperty
12 private final String identityKey;
13
14 @JsonProperty
15 private final String name;
16
17 private final File avatarFile;
18
19 @JsonProperty
20 private final String unidentifiedAccess;
21
22 @JsonProperty
23 private final boolean unrestrictedUnidentifiedAccess;
24
25 @JsonProperty
26 private final SignalServiceProfile.Capabilities capabilities;
27
28 public SignalProfile(final String identityKey, final String name, final File avatarFile, final String unidentifiedAccess, final boolean unrestrictedUnidentifiedAccess, final SignalServiceProfile.Capabilities capabilities) {
29 this.identityKey = identityKey;
30 this.name = name;
31 this.avatarFile = avatarFile;
32 this.unidentifiedAccess = unidentifiedAccess;
33 this.unrestrictedUnidentifiedAccess = unrestrictedUnidentifiedAccess;
34 this.capabilities = capabilities;
35 }
36
37 public SignalProfile(@JsonProperty("identityKey") final String identityKey, @JsonProperty("name") final String name, @JsonProperty("unidentifiedAccess") final String unidentifiedAccess, @JsonProperty("unrestrictedUnidentifiedAccess") final boolean unrestrictedUnidentifiedAccess, @JsonProperty("capabilities") final SignalServiceProfile.Capabilities capabilities) {
38 this.identityKey = identityKey;
39 this.name = name;
40 this.avatarFile = null;
41 this.unidentifiedAccess = unidentifiedAccess;
42 this.unrestrictedUnidentifiedAccess = unrestrictedUnidentifiedAccess;
43 this.capabilities = capabilities;
44 }
45
46 public String getIdentityKey() {
47 return identityKey;
48 }
49
50 public String getName() {
51 return name;
52 }
53
54 public File getAvatarFile() {
55 return avatarFile;
56 }
57
58 public String getUnidentifiedAccess() {
59 return unidentifiedAccess;
60 }
61
62 public boolean isUnrestrictedUnidentifiedAccess() {
63 return unrestrictedUnidentifiedAccess;
64 }
65
66 public SignalServiceProfile.Capabilities getCapabilities() {
67 return capabilities;
68 }
69
70 @Override
71 public String toString() {
72 return "SignalProfile{" +
73 "identityKey='" + identityKey + '\'' +
74 ", name='" + name + '\'' +
75 ", avatarFile=" + avatarFile +
76 ", unidentifiedAccess='" + unidentifiedAccess + '\'' +
77 ", unrestrictedUnidentifiedAccess=" + unrestrictedUnidentifiedAccess +
78 ", capabilities=" + capabilities +
79 '}';
80 }
81 }