]>
nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/api/Contact.java
1 package org
.asamk
.signal
.manager
.api
;
3 import org
.whispersystems
.signalservice
.internal
.util
.Util
;
9 int messageExpirationTime
,
12 boolean isProfileSharingEnabled
15 private Contact(final Builder builder
) {
16 this(builder
.givenName
,
19 builder
.messageExpirationTime
,
22 builder
.profileSharingEnabled
);
25 public static Builder
newBuilder() {
29 public static Builder
newBuilder(final Contact copy
) {
30 Builder builder
= new Builder();
31 builder
.givenName
= copy
.givenName();
32 builder
.familyName
= copy
.familyName();
33 builder
.color
= copy
.color();
34 builder
.messageExpirationTime
= copy
.messageExpirationTime();
35 builder
.blocked
= copy
.isBlocked();
36 builder
.archived
= copy
.isArchived();
37 builder
.profileSharingEnabled
= copy
.isProfileSharingEnabled();
41 public String
getName() {
42 final var noGivenName
= Util
.isEmpty(givenName
);
43 final var noFamilyName
= Util
.isEmpty(familyName
);
45 if (noGivenName
&& noFamilyName
) {
47 } else if (noGivenName
) {
49 } else if (noFamilyName
) {
53 return givenName
+ " " + familyName
;
56 public static final class Builder
{
58 private String givenName
;
59 private String familyName
;
61 private int messageExpirationTime
;
62 private boolean blocked
;
63 private boolean archived
;
64 private boolean profileSharingEnabled
;
69 public Builder
withGivenName(final String val
) {
74 public Builder
withFamilyName(final String val
) {
79 public Builder
withColor(final String val
) {
84 public Builder
withMessageExpirationTime(final int val
) {
85 messageExpirationTime
= val
;
89 public Builder
withBlocked(final boolean val
) {
94 public Builder
withArchived(final boolean val
) {
99 public Builder
withProfileSharingEnabled(final boolean val
) {
100 profileSharingEnabled
= val
;
104 public Contact
build() {
105 return new Contact(this);