From: AsamK Date: Sat, 26 Aug 2023 14:33:39 +0000 (+0200) Subject: Improve identites listing X-Git-Tag: v0.12.1~3 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/bc3bdbbf215c21084c5109209a9a4d6a6c345771?ds=inline Improve identites listing --- diff --git a/lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java b/lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java index e8ab75a4..7db22fb2 100644 --- a/lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java +++ b/lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java @@ -1147,7 +1147,12 @@ public class ManagerImpl implements Manager { @Override public List getIdentities() { - return account.getIdentityKeyStore().getIdentities().stream().map(this::toIdentity).toList(); + return account.getIdentityKeyStore() + .getIdentities() + .stream() + .map(this::toIdentity) + .filter(Objects::nonNull) + .toList(); } private Identity toIdentity(final IdentityInfo identityInfo) { @@ -1157,6 +1162,10 @@ public class ManagerImpl implements Manager { final var address = account.getRecipientAddressResolver() .resolveRecipientAddress(account.getRecipientResolver().resolveRecipient(identityInfo.getServiceId())); + if (address.serviceId().isPresent() && !Objects.equals(address.serviceId().get(), + identityInfo.getServiceId())) { + return null; + } final var scannableFingerprint = context.getIdentityHelper() .computeSafetyNumberForScanning(identityInfo.getServiceId(), identityInfo.getIdentityKey()); return new Identity(address.toApiRecipientAddress(), diff --git a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java index 0da98aa6..608ed581 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java @@ -1032,7 +1032,7 @@ public class DbusSignalImpl implements Signal { connection.exportObject(object); logger.debug("Exported dbus object: " + object.getObjectPath()); } catch (DBusException e) { - e.printStackTrace(); + logger.warn("Failed to export dbus object (" + object.getObjectPath() + "): " + e.getMessage()); } }