]> nmode's Git Repositories - signal-cli/commitdiff
Fix linking when preKeyCount is not available
authorAsamK <asamk@gmx.de>
Wed, 9 Aug 2023 18:47:58 +0000 (20:47 +0200)
committerAsamK <asamk@gmx.de>
Wed, 9 Aug 2023 18:48:52 +0000 (20:48 +0200)
lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java

index 2bbef3c81e204312d42baa4c31fa50affd345ae1..3cc927e99bd20e51a5cfb75ea5de56bc56273115 100644 (file)
@@ -12,6 +12,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.whispersystems.signalservice.api.account.PreKeyUpload;
 import org.whispersystems.signalservice.api.push.ServiceIdType;
+import org.whispersystems.signalservice.api.push.exceptions.AuthorizationFailedException;
+import org.whispersystems.signalservice.internal.push.OneTimePreKeyCounts;
 
 import java.io.IOException;
 import java.util.List;
@@ -36,7 +38,13 @@ public class PreKeyHelper {
     }
 
     public void refreshPreKeysIfNecessary(ServiceIdType serviceIdType) throws IOException {
-        final var preKeyCounts = dependencies.getAccountManager().getPreKeyCounts(serviceIdType);
+        OneTimePreKeyCounts preKeyCounts;
+        try {
+            preKeyCounts = dependencies.getAccountManager().getPreKeyCounts(serviceIdType);
+        } catch (AuthorizationFailedException e) {
+            logger.debug("Failed to get pre key count, ignoring: " + e.getClass().getSimpleName());
+            preKeyCounts = new OneTimePreKeyCounts(0, 0);
+        }
         if (preKeyCounts.getEcCount() < ServiceConfig.PREKEY_MINIMUM_COUNT) {
             logger.debug("Refreshing {} ec pre keys, because only {} of {} pre keys remain",
                     serviceIdType,