From: AsamK Date: Wed, 9 Aug 2023 18:47:58 +0000 (+0200) Subject: Fix linking when preKeyCount is not available X-Git-Tag: v0.12.0~12 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/1559d28ed890891b03e4bb20953ebcab06f6d76c?ds=sidebyside Fix linking when preKeyCount is not available --- diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java index 2bbef3c8..3cc927e9 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java @@ -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,