1 package org
.asamk
.signal
.manager
.api
;
3 import org
.whispersystems
.signalservice
.internal
.util
.Util
;
9 String nickNameGivenName
,
10 String nickNameFamilyName
,
13 int messageExpirationTime
,
18 boolean isProfileSharingEnabled
,
20 Long unregisteredTimestamp
23 private Contact(final Builder builder
) {
24 this(builder
.givenName
,
27 builder
.nickNameGivenName
,
28 builder
.nickNameFamilyName
,
31 builder
.messageExpirationTime
,
36 builder
.isProfileSharingEnabled
,
38 builder
.unregisteredTimestamp
);
41 public static Builder
newBuilder() {
45 public static Builder
newBuilder(final Contact copy
) {
46 Builder builder
= new Builder();
47 builder
.givenName
= copy
.givenName();
48 builder
.familyName
= copy
.familyName();
49 builder
.nickName
= copy
.nickName();
50 builder
.color
= copy
.color();
51 builder
.messageExpirationTime
= copy
.messageExpirationTime();
52 builder
.muteUntil
= copy
.muteUntil();
53 builder
.hideStory
= copy
.hideStory();
54 builder
.isBlocked
= copy
.isBlocked();
55 builder
.isArchived
= copy
.isArchived();
56 builder
.isProfileSharingEnabled
= copy
.isProfileSharingEnabled();
57 builder
.isHidden
= copy
.isHidden();
58 builder
.unregisteredTimestamp
= copy
.unregisteredTimestamp();
62 public String
getName() {
63 final var noGivenName
= Util
.isEmpty(givenName
);
64 final var noFamilyName
= Util
.isEmpty(familyName
);
66 if (noGivenName
&& noFamilyName
) {
68 } else if (noGivenName
) {
70 } else if (noFamilyName
) {
74 return givenName
+ " " + familyName
;
77 public static final class Builder
{
79 private String givenName
;
80 private String familyName
;
81 private String nickName
;
82 private String nickNameGivenName
;
83 private String nickNameFamilyName
;
86 private int messageExpirationTime
;
87 private long muteUntil
;
88 private boolean hideStory
;
89 private boolean isBlocked
;
90 private boolean isArchived
;
91 private boolean isProfileSharingEnabled
;
92 private boolean isHidden
;
93 private Long unregisteredTimestamp
;
98 public static Builder
newBuilder() {
102 public Builder
withGivenName(final String val
) {
107 public Builder
withFamilyName(final String val
) {
112 public Builder
withNickName(final String val
) {
117 public Builder
withNickNameGivenName(final String val
) {
118 nickNameGivenName
= val
;
122 public Builder
withNickNameFamilyName(final String val
) {
123 nickNameFamilyName
= val
;
127 public Builder
withNote(final String val
) {
132 public Builder
withColor(final String val
) {
137 public Builder
withMessageExpirationTime(final int val
) {
138 messageExpirationTime
= val
;
142 public Builder
withMuteUntil(final long val
) {
147 public Builder
withHideStory(final boolean val
) {
152 public Builder
withIsBlocked(final boolean val
) {
157 public Builder
withIsArchived(final boolean val
) {
162 public Builder
withIsProfileSharingEnabled(final boolean val
) {
163 isProfileSharingEnabled
= val
;
167 public Builder
withIsHidden(final boolean val
) {
172 public Builder
withUnregisteredTimestamp(final Long val
) {
173 unregisteredTimestamp
= val
;
177 public Contact
build() {
178 return new Contact(this);