]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java
fix
[signal-cli] / src / main / java / org / asamk / signal / dbus / DbusSignalImpl.java
index 3e06d613231a13435f3bb6dc0e12df61b79dccec..b88aa81e9bedb6087cb5ddd4d059f26a22638d2e 100644 (file)
@@ -12,12 +12,12 @@ import org.asamk.signal.manager.groups.LastGroupAdminException;
 import org.asamk.signal.manager.groups.NotAGroupMemberException;
 import org.asamk.signal.manager.storage.identities.IdentityInfo;
 import org.asamk.signal.util.ErrorUtils;
+import org.asamk.signal.util.Util;
 import org.freedesktop.dbus.exceptions.DBusExecutionException;
 import org.whispersystems.libsignal.util.Pair;
 import org.whispersystems.libsignal.util.guava.Optional;
 import org.whispersystems.signalservice.api.groupsv2.GroupLinkNotActiveException;
 import org.whispersystems.signalservice.api.messages.SendMessageResult;
-import org.whispersystems.signalservice.api.push.SignalServiceAddress;
 import org.whispersystems.signalservice.api.util.InvalidNumberException;
 
 import java.io.File;
@@ -29,12 +29,16 @@ import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import static org.asamk.signal.util.Util.getLegacyIdentifier;
+
 public class DbusSignalImpl implements Signal {
 
     private final Manager m;
+    private final String objectPath;
 
-    public DbusSignalImpl(final Manager m) {
+    public DbusSignalImpl(final Manager m, final String objectPath) {
         this.m = m;
+        this.objectPath = objectPath;
     }
 
     @Override
@@ -44,7 +48,7 @@ public class DbusSignalImpl implements Signal {
 
     @Override
     public String getObjectPath() {
-        return null;
+        return objectPath;
     }
 
     @Override
@@ -317,7 +321,7 @@ public class DbusSignalImpl implements Signal {
             return group.getMembers()
                     .stream()
                     .map(m::resolveSignalServiceAddress)
-                    .map(SignalServiceAddress::getLegacyIdentifier)
+                    .map(Util::getLegacyIdentifier)
                     .collect(Collectors.toList());
         }
     }
@@ -355,7 +359,9 @@ public class DbusSignalImpl implements Signal {
                         null,
                         avatar == null ? null : new File(avatar),
                         null);
-                checkSendMessageResults(results.first(), results.second());
+                if (results != null) {
+                    checkSendMessageResults(results.first(), results.second());
+                }
                 return groupId;
             }
         } catch (IOException e) {
@@ -422,7 +428,7 @@ public class DbusSignalImpl implements Signal {
         var contacts = m.getContacts();
         for (var c : contacts) {
             if (name.equals(c.second().getName())) {
-                numbers.add(m.resolveSignalServiceAddress(c.first()).getLegacyIdentifier());
+                numbers.add(getLegacyIdentifier(m.resolveSignalServiceAddress(c.first())));
             }
         }
         // Try profiles if no contact name was found