]> nmode's Git Repositories - signal-cli/commitdiff
Convert Contact to record
authorAsamK <asamk@gmx.de>
Sat, 11 Nov 2023 10:09:24 +0000 (11:09 +0100)
committerAsamK <asamk@gmx.de>
Sat, 11 Nov 2023 10:09:24 +0000 (11:09 +0100)
lib/src/main/java/org/asamk/signal/manager/api/Contact.java
lib/src/main/java/org/asamk/signal/manager/helper/ContactHelper.java
lib/src/main/java/org/asamk/signal/manager/helper/SendHelper.java
lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java
lib/src/main/java/org/asamk/signal/manager/helper/SyncHelper.java
lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientStore.java
src/main/java/org/asamk/signal/commands/ListContactsCommand.java

index 27c2d4dae3d9e84b182716d09a3ffd011297bef4..e6dd5f930b026c74e33a54d9b1f4ea920e8f26cd 100644 (file)
@@ -2,50 +2,24 @@ package org.asamk.signal.manager.api;
 
 import org.whispersystems.signalservice.internal.util.Util;
 
-import java.util.Objects;
-
-public class Contact {
-
-    private final String givenName;
-
-    private final String familyName;
-
-    private final String color;
-
-    private final int messageExpirationTime;
-
-    private final boolean blocked;
-
-    private final boolean archived;
-
-    private final boolean profileSharingEnabled;
-
-    public Contact(
-            final String givenName,
-            final String familyName,
-            final String color,
-            final int messageExpirationTime,
-            final boolean blocked,
-            final boolean archived,
-            final boolean profileSharingEnabled
-    ) {
-        this.givenName = givenName;
-        this.familyName = familyName;
-        this.color = color;
-        this.messageExpirationTime = messageExpirationTime;
-        this.blocked = blocked;
-        this.archived = archived;
-        this.profileSharingEnabled = profileSharingEnabled;
-    }
+public record Contact(
+        String givenName,
+        String familyName,
+        String color,
+        int messageExpirationTime,
+        boolean isBlocked,
+        boolean isArchived,
+        boolean isProfileSharingEnabled
+) {
 
     private Contact(final Builder builder) {
-        givenName = builder.givenName;
-        familyName = builder.familyName;
-        color = builder.color;
-        messageExpirationTime = builder.messageExpirationTime;
-        blocked = builder.blocked;
-        archived = builder.archived;
-        profileSharingEnabled = builder.profileSharingEnabled;
+        this(builder.givenName,
+                builder.familyName,
+                builder.color,
+                builder.messageExpirationTime,
+                builder.blocked,
+                builder.archived,
+                builder.profileSharingEnabled);
     }
 
     public static Builder newBuilder() {
@@ -54,10 +28,10 @@ public class Contact {
 
     public static Builder newBuilder(final Contact copy) {
         Builder builder = new Builder();
-        builder.givenName = copy.getGivenName();
-        builder.familyName = copy.getFamilyName();
-        builder.color = copy.getColor();
-        builder.messageExpirationTime = copy.getMessageExpirationTime();
+        builder.givenName = copy.givenName();
+        builder.familyName = copy.familyName();
+        builder.color = copy.color();
+        builder.messageExpirationTime = copy.messageExpirationTime();
         builder.blocked = copy.isBlocked();
         builder.archived = copy.isArchived();
         builder.profileSharingEnabled = copy.isProfileSharingEnabled();
@@ -79,59 +53,6 @@ public class Contact {
         return givenName + " " + familyName;
     }
 
-    public String getGivenName() {
-        return givenName;
-    }
-
-    public String getFamilyName() {
-        return familyName;
-    }
-
-    public String getColor() {
-        return color;
-    }
-
-    public int getMessageExpirationTime() {
-        return messageExpirationTime;
-    }
-
-    public boolean isBlocked() {
-        return blocked;
-    }
-
-    public boolean isArchived() {
-        return archived;
-    }
-
-    public boolean isProfileSharingEnabled() {
-        return profileSharingEnabled;
-    }
-
-    @Override
-    public boolean equals(final Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        final Contact contact = (Contact) o;
-        return messageExpirationTime == contact.messageExpirationTime
-                && blocked == contact.blocked
-                && archived == contact.archived
-                && profileSharingEnabled == contact.profileSharingEnabled
-                && Objects.equals(givenName, contact.givenName)
-                && Objects.equals(familyName, contact.familyName)
-                && Objects.equals(color, contact.color);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(givenName,
-                familyName,
-                color,
-                messageExpirationTime,
-                blocked,
-                archived,
-                profileSharingEnabled);
-    }
-
     public static final class Builder {
 
         private String givenName;
index 80df94478338e59064dd8469321ccb58cb45812d..4e96baccfb83cb13d5c648615fe72d19f8f76293 100644 (file)
@@ -31,7 +31,7 @@ public class ContactHelper {
 
     public void setExpirationTimer(RecipientId recipientId, int messageExpirationTimer) {
         var contact = account.getContactStore().getContact(recipientId);
-        if (contact != null && contact.getMessageExpirationTime() == messageExpirationTimer) {
+        if (contact != null && contact.messageExpirationTime() == messageExpirationTimer) {
             return;
         }
         final var builder = contact == null ? Contact.newBuilder() : Contact.newBuilder(contact);
index 7a0841e7f8b5d3ba3cff673e1c7a71c5aa36f61d..236078157bff13d9d1100e36604c6b07793bf373 100644 (file)
@@ -84,7 +84,7 @@ public class SendHelper {
             account.getContactStore().storeContact(recipientId, contact);
         }
 
-        final var expirationTime = contact.getMessageExpirationTime();
+        final var expirationTime = contact.messageExpirationTime();
         messageBuilder.withExpiration(expirationTime);
 
         if (!contact.isBlocked()) {
@@ -177,7 +177,7 @@ public class SendHelper {
     ) {
         final var recipientId = account.getSelfRecipientId();
         final var contact = account.getContactStore().getContact(recipientId);
-        final var expirationTime = contact != null ? contact.getMessageExpirationTime() : 0;
+        final var expirationTime = contact != null ? contact.messageExpirationTime() : 0;
         messageBuilder.withExpiration(expirationTime);
 
         var message = messageBuilder.build();
index 600bd832b5961eb699ea55117ddeabb3604893b9..35821c5b818e27b14b82993fd2dd5aba48c2d26f 100644 (file)
@@ -116,8 +116,8 @@ public class StorageHelper {
         final var blocked = contact != null && contact.isBlocked();
         final var profileShared = contact != null && contact.isProfileSharingEnabled();
         final var archived = contact != null && contact.isArchived();
-        final var contactGivenName = contact == null ? null : contact.getGivenName();
-        final var contactFamilyName = contact == null ? null : contact.getFamilyName();
+        final var contactGivenName = contact == null ? null : contact.givenName();
+        final var contactFamilyName = contact == null ? null : contact.familyName();
         if (blocked != contactRecord.isBlocked()
                 || profileShared != contactRecord.isProfileSharingEnabled()
                 || archived != contactRecord.isArchived()
index 049cbff0a14a19cc981add2f499699597808c137..0badc54498befa06010587c150c1c32995b0e369 100644 (file)
@@ -148,11 +148,11 @@ public class SyncHelper {
                     out.write(new DeviceContact(address,
                             Optional.ofNullable(contact.getName()),
                             createContactAvatarAttachment(new RecipientAddress(address)),
-                            Optional.ofNullable(contact.getColor()),
+                            Optional.ofNullable(contact.color()),
                             Optional.ofNullable(verifiedMessage),
                             Optional.ofNullable(profileKey),
                             contact.isBlocked(),
-                            Optional.of(contact.getMessageExpirationTime()),
+                            Optional.of(contact.messageExpirationTime()),
                             Optional.empty(),
                             contact.isArchived()));
                 }
index 551b5c916f5cde86434206949b2aae2a8b4ab9f4..c446e4680bb45564a85b1fb5ec7dc03094682ad8 100644 (file)
@@ -589,11 +589,11 @@ public class RecipientStore implements RecipientIdCreator, RecipientResolver, Re
                 """
         ).formatted(TABLE_RECIPIENT);
         try (final var statement = connection.prepareStatement(sql)) {
-            statement.setString(1, contact == null ? null : contact.getGivenName());
-            statement.setString(2, contact == null ? null : contact.getFamilyName());
-            statement.setInt(3, contact == null ? 0 : contact.getMessageExpirationTime());
+            statement.setString(1, contact == null ? null : contact.givenName());
+            statement.setString(2, contact == null ? null : contact.familyName());
+            statement.setInt(3, contact == null ? 0 : contact.messageExpirationTime());
             statement.setBoolean(4, contact != null && contact.isProfileSharingEnabled());
-            statement.setString(5, contact == null ? null : contact.getColor());
+            statement.setString(5, contact == null ? null : contact.color());
             statement.setBoolean(6, contact != null && contact.isBlocked());
             statement.setBoolean(7, contact != null && contact.isArchived());
             statement.setLong(8, recipientId.id());
index 42a33a14842b32c6fd54caf492b746c115a7b858..698e6f2bdc6777208484433a896749841adfde56 100644 (file)
@@ -62,11 +62,9 @@ public class ListContactsCommand implements JsonRpcLocalCommand {
                             contact.getName(),
                             profile.getDisplayName(),
                             r.getAddress().username().orElse(""),
-                            contact.getColor(),
+                            contact.color(),
                             contact.isBlocked(),
-                            contact.getMessageExpirationTime() == 0
-                                    ? "disabled"
-                                    : contact.getMessageExpirationTime() + "s");
+                            contact.messageExpirationTime() == 0 ? "disabled" : contact.messageExpirationTime() + "s");
                 }
             }
             case JsonWriter writer -> {
@@ -77,9 +75,9 @@ public class ListContactsCommand implements JsonRpcLocalCommand {
                             address.uuid().map(UUID::toString).orElse(null),
                             address.username().orElse(null),
                             contact.getName(),
-                            contact.getColor(),
+                            contact.color(),
                             contact.isBlocked(),
-                            contact.getMessageExpirationTime(),
+                            contact.messageExpirationTime(),
                             r.getProfile() == null
                                     ? null
                                     : new JsonContact.JsonProfile(r.getProfile().getLastUpdateTimestamp(),