]> nmode's Git Repositories - signal-cli/commitdiff
Improve identites listing
authorAsamK <asamk@gmx.de>
Sat, 26 Aug 2023 14:33:39 +0000 (16:33 +0200)
committerAsamK <asamk@gmx.de>
Sat, 26 Aug 2023 14:33:39 +0000 (16:33 +0200)
lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java
src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java

index e8ab75a4074e1efe92c1ef49003b02b8bbcadf8e..7db22fb21790aabab7366fcb4174f9dbde9407d2 100644 (file)
@@ -1147,7 +1147,12 @@ public class ManagerImpl implements Manager {
 
     @Override
     public List<Identity> 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(),
index 0da98aa61990091d36917ef2bc71b091837ad64b..608ed581978d6f9f6be7358fd0f7933b6f851aac 100644 (file)
@@ -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());
         }
     }