]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/helper/UnidentifiedAccessHelper.java
Adapt log levels
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / helper / UnidentifiedAccessHelper.java
index bda24c7cd2c7cfd03dd0be699f0263e318fc5dfc..a9aff6eb042b24419669c75910007543856635d6 100644 (file)
@@ -44,16 +44,68 @@ public class UnidentifiedAccessHelper {
         this.profileProvider = profileProvider;
     }
 
+    public List<Optional<UnidentifiedAccessPair>> getAccessFor(List<RecipientId> recipients) {
+        return recipients.stream().map(this::getAccessFor).toList();
+    }
+
+    public Optional<UnidentifiedAccessPair> getAccessFor(RecipientId recipient) {
+        return getAccessFor(recipient, false);
+    }
+
+    public Optional<UnidentifiedAccessPair> getAccessFor(RecipientId recipientId, boolean noRefresh) {
+        var recipientUnidentifiedAccessKey = getTargetUnidentifiedAccessKey(recipientId, noRefresh);
+        if (recipientUnidentifiedAccessKey == null) {
+            logger.trace("Unidentified access not available for {}", recipientId);
+            return Optional.absent();
+        }
+
+        var selfUnidentifiedAccessKey = getSelfUnidentifiedAccessKey(noRefresh);
+        if (selfUnidentifiedAccessKey == null) {
+            logger.trace("Unidentified access not available for self");
+            return Optional.absent();
+        }
+
+        var senderCertificate = getSenderCertificateFor(recipientId);
+        if (senderCertificate == null) {
+            logger.trace("Unidentified access not available due to missing sender certificate");
+            return Optional.absent();
+        }
+
+        try {
+            return Optional.of(new UnidentifiedAccessPair(new UnidentifiedAccess(recipientUnidentifiedAccessKey,
+                    senderCertificate), new UnidentifiedAccess(selfUnidentifiedAccessKey, senderCertificate)));
+        } catch (InvalidCertificateException e) {
+            return Optional.absent();
+        }
+    }
+
+    public Optional<UnidentifiedAccessPair> getAccessForSync() {
+        var selfUnidentifiedAccessKey = getSelfUnidentifiedAccessKey(false);
+        var selfUnidentifiedAccessCertificate = getSenderCertificate();
+
+        if (selfUnidentifiedAccessKey == null || selfUnidentifiedAccessCertificate == null) {
+            return Optional.absent();
+        }
+
+        try {
+            return Optional.of(new UnidentifiedAccessPair(new UnidentifiedAccess(selfUnidentifiedAccessKey,
+                    selfUnidentifiedAccessCertificate),
+                    new UnidentifiedAccess(selfUnidentifiedAccessKey, selfUnidentifiedAccessCertificate)));
+        } catch (InvalidCertificateException e) {
+            return Optional.absent();
+        }
+    }
+
     private byte[] getSenderCertificateFor(final RecipientId recipientId) {
         final var sharingMode = account.getConfigurationStore().getPhoneNumberSharingMode();
         if (sharingMode == PhoneNumberSharingMode.EVERYBODY || (
                 sharingMode == PhoneNumberSharingMode.CONTACTS
                         && account.getContactStore().getContact(recipientId) != null
         )) {
-            logger.debug("Using normal sender certificate for message to {}", recipientId);
+            logger.trace("Using normal sender certificate for message to {}", recipientId);
             return getSenderCertificate();
         } else {
-            logger.debug("Using phone number privacy sender certificate for message to {}", recipientId);
+            logger.trace("Using phone number privacy sender certificate for message to {}", recipientId);
             return getSenderCertificateForPhoneNumberPrivacy();
         }
     }
@@ -130,52 +182,6 @@ public class UnidentifiedAccessHelper {
         }
     }
 
-    public Optional<UnidentifiedAccessPair> getAccessForSync() {
-        var selfUnidentifiedAccessKey = getSelfUnidentifiedAccessKey(false);
-        var selfUnidentifiedAccessCertificate = getSenderCertificate();
-
-        if (selfUnidentifiedAccessKey == null || selfUnidentifiedAccessCertificate == null) {
-            return Optional.absent();
-        }
-
-        try {
-            return Optional.of(new UnidentifiedAccessPair(new UnidentifiedAccess(selfUnidentifiedAccessKey,
-                    selfUnidentifiedAccessCertificate),
-                    new UnidentifiedAccess(selfUnidentifiedAccessKey, selfUnidentifiedAccessCertificate)));
-        } catch (InvalidCertificateException e) {
-            return Optional.absent();
-        }
-    }
-
-    public List<Optional<UnidentifiedAccessPair>> getAccessFor(List<RecipientId> recipients) {
-        return recipients.stream().map(this::getAccessFor).toList();
-    }
-
-    public Optional<UnidentifiedAccessPair> getAccessFor(RecipientId recipient) {
-        return getAccessFor(recipient, false);
-    }
-
-    public Optional<UnidentifiedAccessPair> getAccessFor(RecipientId recipient, boolean noRefresh) {
-        var recipientUnidentifiedAccessKey = getTargetUnidentifiedAccessKey(recipient, noRefresh);
-        if (recipientUnidentifiedAccessKey == null) {
-            return Optional.absent();
-        }
-
-        var selfUnidentifiedAccessKey = getSelfUnidentifiedAccessKey(noRefresh);
-        var selfUnidentifiedAccessCertificate = getSenderCertificateFor(recipient);
-        if (selfUnidentifiedAccessKey == null || selfUnidentifiedAccessCertificate == null) {
-            return Optional.absent();
-        }
-
-        try {
-            return Optional.of(new UnidentifiedAccessPair(new UnidentifiedAccess(recipientUnidentifiedAccessKey,
-                    selfUnidentifiedAccessCertificate),
-                    new UnidentifiedAccess(selfUnidentifiedAccessKey, selfUnidentifiedAccessCertificate)));
-        } catch (InvalidCertificateException e) {
-            return Optional.absent();
-        }
-    }
-
     private static byte[] createUnrestrictedUnidentifiedAccess() {
         return UNRESTRICTED_KEY;
     }