]> nmode's Git Repositories - signal-cli/commitdiff
Convert classes to records
authorAsamK <asamk@gmx.de>
Sat, 30 Sep 2023 20:26:08 +0000 (22:26 +0200)
committerAsamK <asamk@gmx.de>
Sat, 30 Sep 2023 20:26:08 +0000 (22:26 +0200)
lib/src/main/java/org/asamk/signal/manager/api/StickerPackUrl.java
lib/src/main/java/org/asamk/signal/manager/config/KeyBackupConfig.java
lib/src/main/java/org/asamk/signal/manager/config/ServiceEnvironmentConfig.java
lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java
lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java
lib/src/main/java/org/asamk/signal/manager/internal/ProvisioningManagerImpl.java
lib/src/main/java/org/asamk/signal/manager/internal/RegistrationManagerImpl.java
lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java
lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java
lib/src/main/java/org/asamk/signal/manager/storage/profiles/LegacySignalProfileEntry.java

index c571a424cf6639add2ea1050e1827a807760f710..7113b4b8b4ac799e8c201c10f418fc86383814fc 100644 (file)
@@ -11,10 +11,7 @@ import java.nio.charset.StandardCharsets;
 
 import static org.whispersystems.signalservice.internal.util.Util.isEmpty;
 
-public final class StickerPackUrl {
-
-    private final StickerPackId packId;
-    private final byte[] packKey;
+public record StickerPackUrl(StickerPackId packId, byte[] packKey) {
 
     /**
      * @throws InvalidStickerPackLinkException If url cannot be parsed.
@@ -48,11 +45,6 @@ public final class StickerPackUrl {
         return new StickerPackUrl(packId, packKey);
     }
 
-    public StickerPackUrl(final StickerPackId packId, final byte[] packKey) {
-        this.packId = packId;
-        this.packKey = packKey;
-    }
-
     public URI getUrl() {
         try {
             return new URI("https",
@@ -67,14 +59,6 @@ public final class StickerPackUrl {
         }
     }
 
-    public StickerPackId getPackId() {
-        return packId;
-    }
-
-    public byte[] getPackKey() {
-        return packKey;
-    }
-
     public final static class InvalidStickerPackLinkException extends Exception {
 
         public InvalidStickerPackLinkException(String message) {
index 60173c1d1a72d059c8ac70116f3c589349c0ad74..8872a2d886a83525871f6a26d066101de064a895 100644 (file)
@@ -1,26 +1,3 @@
 package org.asamk.signal.manager.config;
 
-public class KeyBackupConfig {
-
-    private final String enclaveName;
-    private final byte[] serviceId;
-    private final String mrenclave;
-
-    public KeyBackupConfig(final String enclaveName, final byte[] serviceId, final String mrenclave) {
-        this.enclaveName = enclaveName;
-        this.serviceId = serviceId;
-        this.mrenclave = mrenclave;
-    }
-
-    public String getEnclaveName() {
-        return enclaveName;
-    }
-
-    public byte[] getServiceId() {
-        return serviceId;
-    }
-
-    public String getMrenclave() {
-        return mrenclave;
-    }
-}
+public record KeyBackupConfig(String enclaveName, byte[] serviceId, String mrenclave) {}
index 64f175890626c97476bd41afb1bd58c59c57fd7f..421bdcc746fc0c82a6d61f7d537f068ea4dfcce9 100644 (file)
@@ -6,62 +6,12 @@ import org.whispersystems.signalservice.internal.configuration.SignalServiceConf
 
 import java.util.Collection;
 
-public class ServiceEnvironmentConfig {
-
-    private final ServiceEnvironment type;
-    private final SignalServiceConfiguration signalServiceConfiguration;
-
-    private final ECPublicKey unidentifiedSenderTrustRoot;
-
-    private final KeyBackupConfig keyBackupConfig;
-    private final Collection<KeyBackupConfig> fallbackKeyBackupConfigs;
-
-    private final String cdsiMrenclave;
-    private final String svr2Mrenclave;
-
-    public ServiceEnvironmentConfig(
-            final ServiceEnvironment type,
-            final SignalServiceConfiguration signalServiceConfiguration,
-            final ECPublicKey unidentifiedSenderTrustRoot,
-            final KeyBackupConfig keyBackupConfig,
-            final Collection<KeyBackupConfig> fallbackKeyBackupConfigs,
-            final String cdsiMrenclave,
-            final String svr2Mrenclave
-    ) {
-        this.type = type;
-        this.signalServiceConfiguration = signalServiceConfiguration;
-        this.unidentifiedSenderTrustRoot = unidentifiedSenderTrustRoot;
-        this.keyBackupConfig = keyBackupConfig;
-        this.fallbackKeyBackupConfigs = fallbackKeyBackupConfigs;
-        this.cdsiMrenclave = cdsiMrenclave;
-        this.svr2Mrenclave = svr2Mrenclave;
-    }
-
-    public ServiceEnvironment getType() {
-        return type;
-    }
-
-    public SignalServiceConfiguration getSignalServiceConfiguration() {
-        return signalServiceConfiguration;
-    }
-
-    public ECPublicKey getUnidentifiedSenderTrustRoot() {
-        return unidentifiedSenderTrustRoot;
-    }
-
-    public KeyBackupConfig getKeyBackupConfig() {
-        return keyBackupConfig;
-    }
-
-    public Collection<KeyBackupConfig> getFallbackKeyBackupConfigs() {
-        return fallbackKeyBackupConfigs;
-    }
-
-    public String getCdsiMrenclave() {
-        return cdsiMrenclave;
-    }
-
-    public String getSvr2Mrenclave() {
-        return svr2Mrenclave;
-    }
-}
+public record ServiceEnvironmentConfig(
+        ServiceEnvironment type,
+        SignalServiceConfiguration signalServiceConfiguration,
+        ECPublicKey unidentifiedSenderTrustRoot,
+        KeyBackupConfig keyBackupConfig,
+        Collection<KeyBackupConfig> fallbackKeyBackupConfigs,
+        String cdsiMrenclave,
+        String svr2Mrenclave
+) {}
index aff45ed2a3a2691a3db1cd913e16908e0bc7fb74..8935452412c70fffffd171cdf3e87e81d4b81543 100644 (file)
@@ -162,7 +162,7 @@ public class RecipientHelper {
                             account.getRecipientStore().getServiceIdToProfileKeyMap(),
                             useCompat,
                             Optional.empty(),
-                            serviceEnvironmentConfig.getCdsiMrenclave(),
+                            serviceEnvironmentConfig.cdsiMrenclave(),
                             null,
                             token -> {
                                 // Not storing for partial refresh
index 7db22fb21790aabab7366fcb4174f9dbde9407d2..d1e96026a4511fb5e623e350b794f148042ec3fa 100644 (file)
@@ -902,8 +902,8 @@ public class ManagerImpl implements Manager {
 
     @Override
     public void installStickerPack(StickerPackUrl url) throws IOException {
-        final var packId = url.getPackId();
-        final var packKey = url.getPackKey();
+        final var packId = url.packId();
+        final var packKey = url.packKey();
         try {
             context.getStickerHelper().retrieveStickerPack(packId, packKey);
         } catch (InvalidMessageException e) {
index 113c2856b2257325379f138a185cba86a19b2522..405657b018ec706c9bec80ec316f35d500d1f8d1 100644 (file)
@@ -82,12 +82,12 @@ public class ProvisioningManagerImpl implements ProvisioningManager {
         password = KeyUtils.createPassword();
         GroupsV2Operations groupsV2Operations;
         try {
-            groupsV2Operations = new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration()),
+            groupsV2Operations = new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.signalServiceConfiguration()),
                     ServiceConfig.GROUP_MAX_SIZE);
         } catch (Throwable ignored) {
             groupsV2Operations = null;
         }
-        accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.getSignalServiceConfiguration(),
+        accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.signalServiceConfiguration(),
                 new DynamicCredentialsProvider(null, null, null, password, SignalServiceAddress.DEFAULT_DEVICE_ID),
                 userAgent,
                 groupsV2Operations,
@@ -146,7 +146,7 @@ public class ProvisioningManagerImpl implements ProvisioningManager {
             account = SignalAccount.createOrUpdateLinkedAccount(pathConfig.dataPath(),
                     accountPath,
                     number,
-                    serviceEnvironmentConfig.getType(),
+                    serviceEnvironmentConfig.type(),
                     aci,
                     pni,
                     password,
@@ -221,7 +221,7 @@ public class ProvisioningManagerImpl implements ProvisioningManager {
             }
             if (signalAccount.isRegistered()
                     && signalAccount.getServiceEnvironment() != null
-                    && signalAccount.getServiceEnvironment() != serviceEnvironmentConfig.getType()) {
+                    && signalAccount.getServiceEnvironment() != serviceEnvironmentConfig.type()) {
                 logger.debug("Account is registered in another environment: {}.",
                         signalAccount.getServiceEnvironment());
                 return false;
index 3e9536317ed82aa6a29ab3fb37331e7e274fdfa0..b3d7eff1b1972557567adacecdf8cb4a28071add 100644 (file)
@@ -82,12 +82,12 @@ public class RegistrationManagerImpl implements RegistrationManager {
 
         GroupsV2Operations groupsV2Operations;
         try {
-            groupsV2Operations = new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration()),
+            groupsV2Operations = new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.signalServiceConfiguration()),
                     ServiceConfig.GROUP_MAX_SIZE);
         } catch (Throwable ignored) {
             groupsV2Operations = null;
         }
-        this.accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.getSignalServiceConfiguration(),
+        this.accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.signalServiceConfiguration(),
                 new DynamicCredentialsProvider(
                         // Using empty UUID, because registering doesn't work otherwise
                         null, null, account.getNumber(), account.getPassword(), SignalServiceAddress.DEFAULT_DEVICE_ID),
@@ -95,19 +95,19 @@ public class RegistrationManagerImpl implements RegistrationManager {
                 groupsV2Operations,
                 ServiceConfig.AUTOMATIC_NETWORK_RETRY);
         final var keyBackupService = accountManager.getKeyBackupService(ServiceConfig.getIasKeyStore(),
-                serviceEnvironmentConfig.getKeyBackupConfig().getEnclaveName(),
-                serviceEnvironmentConfig.getKeyBackupConfig().getServiceId(),
-                serviceEnvironmentConfig.getKeyBackupConfig().getMrenclave(),
+                serviceEnvironmentConfig.keyBackupConfig().enclaveName(),
+                serviceEnvironmentConfig.keyBackupConfig().serviceId(),
+                serviceEnvironmentConfig.keyBackupConfig().mrenclave(),
                 10);
-        final var fallbackKeyBackupServices = serviceEnvironmentConfig.getFallbackKeyBackupConfigs()
+        final var fallbackKeyBackupServices = serviceEnvironmentConfig.fallbackKeyBackupConfigs()
                 .stream()
                 .map(config -> accountManager.getKeyBackupService(ServiceConfig.getIasKeyStore(),
-                        config.getEnclaveName(),
-                        config.getServiceId(),
-                        config.getMrenclave(),
+                        config.enclaveName(),
+                        config.serviceId(),
+                        config.mrenclave(),
                         10))
                 .toList();
-        final var secureValueRecoveryV2 = accountManager.getSecureValueRecoveryV2(serviceEnvironmentConfig.getSvr2Mrenclave());
+        final var secureValueRecoveryV2 = accountManager.getSecureValueRecoveryV2(serviceEnvironmentConfig.svr2Mrenclave());
         this.pinHelper = new PinHelper(keyBackupService, fallbackKeyBackupServices, secureValueRecoveryV2);
     }
 
@@ -117,7 +117,7 @@ public class RegistrationManagerImpl implements RegistrationManager {
     ) throws IOException, CaptchaRequiredException, NonNormalizedPhoneNumberException, RateLimitException {
         if (account.isRegistered()
                 && account.getServiceEnvironment() != null
-                && account.getServiceEnvironment() != serviceEnvironmentConfig.getType()) {
+                && account.getServiceEnvironment() != serviceEnvironmentConfig.type()) {
             throw new IOException("Account is registered in another environment: " + account.getServiceEnvironment());
         }
 
@@ -216,7 +216,7 @@ public class RegistrationManagerImpl implements RegistrationManager {
 
     private boolean attemptReactivateAccount() {
         try {
-            final var accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.getSignalServiceConfiguration(),
+            final var accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.signalServiceConfiguration(),
                     account.getCredentialsProvider(),
                     userAgent,
                     null,
index 7b3a5a54e3e756e48393b644cbd431f229dea321..82ffce96af87a1c81db94f0fac7160ec2a67eb82 100644 (file)
@@ -94,7 +94,7 @@ public class SignalDependencies {
 
     public SignalServiceAccountManager getAccountManager() {
         return getOrCreate(() -> accountManager,
-                () -> accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.getSignalServiceConfiguration(),
+                () -> accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.signalServiceConfiguration(),
                         credentialsProvider,
                         userAgent,
                         getGroupsV2Operations(),
@@ -102,7 +102,7 @@ public class SignalDependencies {
     }
 
     public SignalServiceAccountManager createUnauthenticatedAccountManager(String number, String password) {
-        return new SignalServiceAccountManager(getServiceEnvironmentConfig().getSignalServiceConfiguration(),
+        return new SignalServiceAccountManager(getServiceEnvironmentConfig().signalServiceConfiguration(),
                 null,
                 null,
                 number,
@@ -119,13 +119,13 @@ public class SignalDependencies {
 
     public GroupsV2Operations getGroupsV2Operations() {
         return getOrCreate(() -> groupsV2Operations,
-                () -> groupsV2Operations = new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration()),
+                () -> groupsV2Operations = new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.signalServiceConfiguration()),
                         ServiceConfig.GROUP_MAX_SIZE));
     }
 
     private ClientZkOperations getClientZkOperations() {
         return getOrCreate(() -> clientZkOperations,
-                () -> clientZkOperations = ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration()));
+                () -> clientZkOperations = ClientZkOperations.create(serviceEnvironmentConfig.signalServiceConfiguration()));
     }
 
     private ClientZkProfileOperations getClientZkProfileOperations() {
@@ -141,7 +141,7 @@ public class SignalDependencies {
                 @Override
                 public WebSocketConnection createWebSocket() {
                     return new WebSocketConnection("normal",
-                            serviceEnvironmentConfig.getSignalServiceConfiguration(),
+                            serviceEnvironmentConfig.signalServiceConfiguration(),
                             Optional.of(credentialsProvider),
                             userAgent,
                             healthMonitor,
@@ -151,7 +151,7 @@ public class SignalDependencies {
                 @Override
                 public WebSocketConnection createUnidentifiedWebSocket() {
                     return new WebSocketConnection("unidentified",
-                            serviceEnvironmentConfig.getSignalServiceConfiguration(),
+                            serviceEnvironmentConfig.signalServiceConfiguration(),
                             Optional.empty(),
                             userAgent,
                             healthMonitor,
@@ -165,7 +165,7 @@ public class SignalDependencies {
 
     public SignalServiceMessageReceiver getMessageReceiver() {
         return getOrCreate(() -> messageReceiver,
-                () -> messageReceiver = new SignalServiceMessageReceiver(serviceEnvironmentConfig.getSignalServiceConfiguration(),
+                () -> messageReceiver = new SignalServiceMessageReceiver(serviceEnvironmentConfig.signalServiceConfiguration(),
                         credentialsProvider,
                         userAgent,
                         getClientZkProfileOperations(),
@@ -174,7 +174,7 @@ public class SignalDependencies {
 
     public SignalServiceMessageSender getMessageSender() {
         return getOrCreate(() -> messageSender,
-                () -> messageSender = new SignalServiceMessageSender(serviceEnvironmentConfig.getSignalServiceConfiguration(),
+                () -> messageSender = new SignalServiceMessageSender(serviceEnvironmentConfig.signalServiceConfiguration(),
                         credentialsProvider,
                         dataStore,
                         sessionLock,
@@ -190,24 +190,24 @@ public class SignalDependencies {
     public KeyBackupService getKeyBackupService() {
         return getOrCreate(() -> keyBackupService,
                 () -> keyBackupService = getAccountManager().getKeyBackupService(ServiceConfig.getIasKeyStore(),
-                        serviceEnvironmentConfig.getKeyBackupConfig().getEnclaveName(),
-                        serviceEnvironmentConfig.getKeyBackupConfig().getServiceId(),
-                        serviceEnvironmentConfig.getKeyBackupConfig().getMrenclave(),
+                        serviceEnvironmentConfig.keyBackupConfig().enclaveName(),
+                        serviceEnvironmentConfig.keyBackupConfig().serviceId(),
+                        serviceEnvironmentConfig.keyBackupConfig().mrenclave(),
                         10));
     }
 
     public SecureValueRecoveryV2 getSecureValueRecoveryV2() {
         return getOrCreate(() -> secureValueRecoveryV2,
-                () -> secureValueRecoveryV2 = getAccountManager().getSecureValueRecoveryV2(serviceEnvironmentConfig.getSvr2Mrenclave()));
+                () -> secureValueRecoveryV2 = getAccountManager().getSecureValueRecoveryV2(serviceEnvironmentConfig.svr2Mrenclave()));
     }
 
     public Collection<KeyBackupService> getFallbackKeyBackupServices() {
-        return serviceEnvironmentConfig.getFallbackKeyBackupConfigs()
+        return serviceEnvironmentConfig.fallbackKeyBackupConfigs()
                 .stream()
                 .map(config -> getAccountManager().getKeyBackupService(ServiceConfig.getIasKeyStore(),
-                        config.getEnclaveName(),
-                        config.getServiceId(),
-                        config.getMrenclave(),
+                        config.enclaveName(),
+                        config.serviceId(),
+                        config.mrenclave(),
                         10))
                 .toList();
     }
@@ -221,7 +221,7 @@ public class SignalDependencies {
 
     public SignalServiceCipher getCipher() {
         return getOrCreate(() -> cipher, () -> {
-            final var certificateValidator = new CertificateValidator(serviceEnvironmentConfig.getUnidentifiedSenderTrustRoot());
+            final var certificateValidator = new CertificateValidator(serviceEnvironmentConfig.unidentifiedSenderTrustRoot());
             final var address = new SignalServiceAddress(credentialsProvider.getAci(), credentialsProvider.getE164());
             final var deviceId = credentialsProvider.getDeviceId();
             cipher = new SignalServiceCipher(address, deviceId, dataStore.aci(), sessionLock, certificateValidator);
index 1619eabd4150a6f4f7378dddc39783fafc66857b..3ff8a864b8e9862746cd03a9863bb85e86347fc8 100644 (file)
@@ -881,10 +881,10 @@ public class SignalAccount implements Closeable {
             var profileStoreNode = rootNode.get("profileStore");
             final var legacyProfileStore = jsonProcessor.convertValue(profileStoreNode, LegacyProfileStore.class);
             for (var profileEntry : legacyProfileStore.getProfileEntries()) {
-                var recipientId = getRecipientResolver().resolveRecipient(profileEntry.getAddress());
+                var recipientId = getRecipientResolver().resolveRecipient(profileEntry.address());
                 // Not migrating profile key credential here, it was changed to expiring profile key credentials
-                getProfileStore().storeProfileKey(recipientId, profileEntry.getProfileKey());
-                final var profile = profileEntry.getProfile();
+                getProfileStore().storeProfileKey(recipientId, profileEntry.profileKey());
+                final var profile = profileEntry.profile();
                 if (profile != null) {
                     final var capabilities = new HashSet<Profile.Capability>();
                     if (profile.getCapabilities() != null) {
@@ -895,7 +895,7 @@ public class SignalAccount implements Closeable {
                             capabilities.add(Profile.Capability.storage);
                         }
                     }
-                    final var newProfile = new Profile(profileEntry.getLastUpdateTimestamp(),
+                    final var newProfile = new Profile(profileEntry.lastUpdateTimestamp(),
                             profile.getGivenName(),
                             profile.getFamilyName(),
                             profile.getAbout(),
index 3acad2b13fcf87c15db3d16e38b89391e46ab170..d4a81183d63b462180de1c054c492df849169ba8 100644 (file)
@@ -3,41 +3,6 @@ package org.asamk.signal.manager.storage.profiles;
 import org.asamk.signal.manager.storage.recipients.RecipientAddress;
 import org.signal.libsignal.zkgroup.profiles.ProfileKey;
 
-public class LegacySignalProfileEntry {
-
-    private final RecipientAddress address;
-
-    private final ProfileKey profileKey;
-
-    private final long lastUpdateTimestamp;
-
-    private final LegacySignalProfile profile;
-
-    public LegacySignalProfileEntry(
-            final RecipientAddress address,
-            final ProfileKey profileKey,
-            final long lastUpdateTimestamp,
-            final LegacySignalProfile profile
-    ) {
-        this.address = address;
-        this.profileKey = profileKey;
-        this.lastUpdateTimestamp = lastUpdateTimestamp;
-        this.profile = profile;
-    }
-
-    public RecipientAddress getAddress() {
-        return address;
-    }
-
-    public ProfileKey getProfileKey() {
-        return profileKey;
-    }
-
-    public long getLastUpdateTimestamp() {
-        return lastUpdateTimestamp;
-    }
-
-    public LegacySignalProfile getProfile() {
-        return profile;
-    }
-}
+public record LegacySignalProfileEntry(
+        RecipientAddress address, ProfileKey profileKey, long lastUpdateTimestamp, LegacySignalProfile profile
+) {}