From 54c3b19052eeb12544462e696922e5f47671b11c Mon Sep 17 00:00:00 2001 From: AsamK Date: Fri, 6 Oct 2023 21:42:28 +0200 Subject: [PATCH] Support serviceId based safety number for scannable safety numbers --- .../asamk/signal/manager/helper/IdentityHelper.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 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 61973f33..c1e22c97 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 @@ -58,22 +58,25 @@ public class IdentityHelper { } public String computeSafetyNumber(ServiceId serviceId, IdentityKey theirIdentityKey) { - final Fingerprint fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey); + final var fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey, false); return fingerprint == null ? null : fingerprint.getDisplayableFingerprint().getDisplayText(); } public ScannableFingerprint computeSafetyNumberForScanning(ServiceId serviceId, IdentityKey theirIdentityKey) { - final Fingerprint fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey); + var fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey, false); + if (fingerprint == null) { + fingerprint = computeSafetyNumberFingerprint(serviceId, theirIdentityKey, true); + } return fingerprint == null ? null : fingerprint.getScannableFingerprint(); } private Fingerprint computeSafetyNumberFingerprint( - final ServiceId serviceId, final IdentityKey theirIdentityKey + final ServiceId serviceId, final IdentityKey theirIdentityKey, boolean useServiceId ) { final var recipientId = account.getRecipientResolver().resolveRecipient(serviceId); final var address = account.getRecipientAddressResolver().resolveRecipientAddress(recipientId); - if (false) { + if (useServiceId) { if (serviceId.isUnknown()) { return null; } -- 2.50.1