]>
nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/helper/ContactHelper.java
1 package org
.asamk
.signal
.manager
.helper
;
3 import org
.asamk
.signal
.manager
.api
.Contact
;
4 import org
.asamk
.signal
.manager
.storage
.SignalAccount
;
5 import org
.asamk
.signal
.manager
.storage
.recipients
.RecipientId
;
7 public class ContactHelper
{
9 private final SignalAccount account
;
11 public ContactHelper(final SignalAccount account
) {
12 this.account
= account
;
15 public boolean isContactBlocked(final RecipientId recipientId
) {
16 var sourceContact
= account
.getContactStore().getContact(recipientId
);
17 return sourceContact
!= null && sourceContact
.isBlocked();
20 public void setContactName(final RecipientId recipientId
, final String givenName
, final String familyName
) {
21 var contact
= account
.getContactStore().getContact(recipientId
);
22 final var builder
= contact
== null ? Contact
.newBuilder() : Contact
.newBuilder(contact
);
23 if (givenName
!= null) {
24 builder
.withGivenName(givenName
);
26 if (familyName
!= null) {
27 builder
.withFamilyName(familyName
);
29 account
.getContactStore().storeContact(recipientId
, builder
.build());
32 public void setExpirationTimer(RecipientId recipientId
, int messageExpirationTimer
) {
33 var contact
= account
.getContactStore().getContact(recipientId
);
34 if (contact
!= null && contact
.getMessageExpirationTime() == messageExpirationTimer
) {
37 final var builder
= contact
== null ? Contact
.newBuilder() : Contact
.newBuilder(contact
);
38 account
.getContactStore()
39 .storeContact(recipientId
, builder
.withMessageExpirationTime(messageExpirationTimer
).build());
42 public void setContactBlocked(RecipientId recipientId
, boolean blocked
) {
43 var contact
= account
.getContactStore().getContact(recipientId
);
44 final var builder
= contact
== null ? Contact
.newBuilder() : Contact
.newBuilder(contact
);
46 builder
.withProfileSharingEnabled(false);
48 account
.getContactStore().storeContact(recipientId
, builder
.withBlocked(blocked
).build());