1 package org
.asamk
.signal
.manager
.api
;
3 import org
.whispersystems
.signalservice
.internal
.util
.Util
;
9 String nickNameGivenName
,
10 String nickNameFamilyName
,
13 int messageExpirationTime
,
14 int messageExpirationTimeVersion
,
19 boolean isProfileSharingEnabled
,
21 Long unregisteredTimestamp
24 private Contact(final Builder builder
) {
25 this(builder
.givenName
,
28 builder
.nickNameGivenName
,
29 builder
.nickNameFamilyName
,
32 builder
.messageExpirationTime
,
33 builder
.messageExpirationTimeVersion
,
38 builder
.isProfileSharingEnabled
,
40 builder
.unregisteredTimestamp
);
43 public static Builder
newBuilder() {
47 public static Builder
newBuilder(final Contact copy
) {
48 Builder builder
= new Builder();
49 builder
.givenName
= copy
.givenName();
50 builder
.familyName
= copy
.familyName();
51 builder
.nickName
= copy
.nickName();
52 builder
.nickNameGivenName
= copy
.nickNameGivenName();
53 builder
.nickNameFamilyName
= copy
.nickNameFamilyName();
54 builder
.note
= copy
.note();
55 builder
.color
= copy
.color();
56 builder
.messageExpirationTime
= copy
.messageExpirationTime();
57 builder
.messageExpirationTimeVersion
= copy
.messageExpirationTimeVersion();
58 builder
.muteUntil
= copy
.muteUntil();
59 builder
.hideStory
= copy
.hideStory();
60 builder
.isBlocked
= copy
.isBlocked();
61 builder
.isArchived
= copy
.isArchived();
62 builder
.isProfileSharingEnabled
= copy
.isProfileSharingEnabled();
63 builder
.isHidden
= copy
.isHidden();
64 builder
.unregisteredTimestamp
= copy
.unregisteredTimestamp();
68 public String
getName() {
69 final var noGivenName
= Util
.isEmpty(givenName
);
70 final var noFamilyName
= Util
.isEmpty(familyName
);
72 if (noGivenName
&& noFamilyName
) {
74 } else if (noGivenName
) {
76 } else if (noFamilyName
) {
80 return givenName
+ " " + familyName
;
83 public static final class Builder
{
85 private String givenName
;
86 private String familyName
;
87 private String nickName
;
88 private String nickNameGivenName
;
89 private String nickNameFamilyName
;
92 private int messageExpirationTime
;
93 private int messageExpirationTimeVersion
= 1;
94 private long muteUntil
;
95 private boolean hideStory
;
96 private boolean isBlocked
;
97 private boolean isArchived
;
98 private boolean isProfileSharingEnabled
;
99 private boolean isHidden
;
100 private Long unregisteredTimestamp
;
105 public static Builder
newBuilder() {
106 return new Builder();
109 public Builder
withGivenName(final String val
) {
114 public Builder
withFamilyName(final String val
) {
119 public Builder
withNickName(final String val
) {
124 public Builder
withNickNameGivenName(final String val
) {
125 nickNameGivenName
= val
;
129 public Builder
withNickNameFamilyName(final String val
) {
130 nickNameFamilyName
= val
;
134 public Builder
withNote(final String val
) {
139 public Builder
withColor(final String val
) {
144 public Builder
withMessageExpirationTime(final int val
) {
145 messageExpirationTime
= val
;
149 public Builder
withMessageExpirationTimeVersion(final int val
) {
150 messageExpirationTimeVersion
= val
;
154 public Builder
withMuteUntil(final long val
) {
159 public Builder
withHideStory(final boolean val
) {
164 public Builder
withIsBlocked(final boolean val
) {
169 public Builder
withIsArchived(final boolean val
) {
174 public Builder
withIsProfileSharingEnabled(final boolean val
) {
175 isProfileSharingEnabled
= val
;
179 public Builder
withIsHidden(final boolean val
) {
184 public Builder
withUnregisteredTimestamp(final Long val
) {
185 unregisteredTimestamp
= val
;
189 public Contact
build() {
190 return new Contact(this);