From fdd5ca426e40bf154819cac441588568f9aca441 Mon Sep 17 00:00:00 2001 From: AsamK Date: Sun, 5 Nov 2023 11:59:09 +0100 Subject: [PATCH] Use safety numbers with ACI by default --- .../signal/manager/helper/IdentityHelper.java | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/IdentityHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/IdentityHelper.java index b9281889..975d5179 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/IdentityHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/IdentityHelper.java @@ -57,33 +57,28 @@ public class IdentityHelper { } public String computeSafetyNumber(ServiceId serviceId, IdentityKey theirIdentityKey) { - final var fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey, false); + final var fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey); return fingerprint == null ? null : fingerprint.getDisplayableFingerprint().getDisplayText(); } public ScannableFingerprint computeSafetyNumberForScanning(ServiceId serviceId, IdentityKey theirIdentityKey) { - var fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey, false); - if (fingerprint == null) { - fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey, true); - } + var fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey); return fingerprint == null ? null : fingerprint.getScannableFingerprint(); } private Fingerprint computeSafetyNumberFingerprint( - final ServiceId serviceId, final IdentityKey theirIdentityKey, boolean useServiceId + final ServiceId serviceId, final IdentityKey theirIdentityKey ) { - final var recipientId = account.getRecipientResolver().resolveRecipient(serviceId); - final var address = account.getRecipientAddressResolver().resolveRecipientAddress(recipientId); - - if (useServiceId) { - if (serviceId.isUnknown()) { - return null; - } + if (!serviceId.isUnknown()) { return Utils.computeSafetyNumberForUuid(account.getAci(), account.getAciIdentityKeyPair().getPublicKey(), serviceId, theirIdentityKey); } + + final var recipientId = account.getRecipientResolver().resolveRecipient(serviceId); + final var address = account.getRecipientAddressResolver().resolveRecipientAddress(recipientId); + if (address.number().isEmpty()) { return null; } -- 2.50.1