]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/profiles/LegacySignalProfile.java
e3e18b1e81093b56e0c4030f30f3350c5d75d170
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / storage / profiles / LegacySignalProfile.java
1 package org.asamk.signal.manager.storage.profiles;
2
3 import com.fasterxml.jackson.annotation.JsonIgnore;
4 import com.fasterxml.jackson.annotation.JsonProperty;
5
6 public class LegacySignalProfile {
7
8 @JsonProperty
9 @JsonIgnore
10 private String identityKey;
11
12 @JsonProperty
13 private final String name;
14
15 @JsonProperty
16 private final String about;
17
18 @JsonProperty
19 private final String aboutEmoji;
20
21 @JsonProperty
22 private final String unidentifiedAccess;
23
24 @JsonProperty
25 private final boolean unrestrictedUnidentifiedAccess;
26
27 @JsonProperty
28 private final Capabilities capabilities;
29
30 public LegacySignalProfile(
31 @JsonProperty("name") final String name,
32 @JsonProperty("about") final String about,
33 @JsonProperty("aboutEmoji") final String aboutEmoji,
34 @JsonProperty("unidentifiedAccess") final String unidentifiedAccess,
35 @JsonProperty("unrestrictedUnidentifiedAccess") final boolean unrestrictedUnidentifiedAccess,
36 @JsonProperty("capabilities") final Capabilities capabilities
37 ) {
38 this.name = name;
39 this.about = about;
40 this.aboutEmoji = aboutEmoji;
41 this.unidentifiedAccess = unidentifiedAccess;
42 this.unrestrictedUnidentifiedAccess = unrestrictedUnidentifiedAccess;
43 this.capabilities = capabilities;
44 }
45
46 public String getGivenName() {
47 if (name == null) {
48 return null;
49 }
50
51 String[] parts = name.split("\0");
52
53 return parts.length < 1 ? null : parts[0];
54 }
55
56 public String getFamilyName() {
57 if (name == null) {
58 return null;
59 }
60
61 String[] parts = name.split("\0");
62
63 return parts.length < 2 ? null : parts[1];
64 }
65
66 public String getAbout() {
67 return about;
68 }
69
70 public String getAboutEmoji() {
71 return aboutEmoji;
72 }
73
74 public String getUnidentifiedAccess() {
75 return unidentifiedAccess;
76 }
77
78 public boolean isUnrestrictedUnidentifiedAccess() {
79 return unrestrictedUnidentifiedAccess;
80 }
81
82 public Capabilities getCapabilities() {
83 return capabilities;
84 }
85
86 public static class Capabilities {
87
88 @JsonIgnore
89 public boolean uuid;
90
91 @JsonIgnore
92 public boolean gv2;
93
94 @JsonProperty
95 public boolean storage;
96
97 @JsonProperty
98 public boolean gv1Migration;
99 }
100 }