]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java
Convert RecipientAddress to record
[signal-cli] / src / main / java / org / asamk / signal / dbus / DbusSignalImpl.java
index 6395eb1466f2e03d0e3dc7178003a829a988328d..e59c7f86ade88784d8462b7ddf5edaceef02e7bd 100644 (file)
@@ -111,7 +111,7 @@ public class DbusSignalImpl implements Signal {
     @Override
     public void subscribeReceive() {
         if (dbusMessageHandler == null) {
-            dbusMessageHandler = new DbusReceiveMessageHandler(m, connection, objectPath);
+            dbusMessageHandler = new DbusReceiveMessageHandler(connection, objectPath);
             m.addReceiveHandler(dbusMessageHandler);
         }
         subscriberCount++;
@@ -387,6 +387,24 @@ public class DbusSignalImpl implements Signal {
         }
     }
 
+    @Override
+    public void deleteRecipient(final String recipient) throws Error.Failure {
+        try {
+            m.deleteRecipient(getSingleRecipientIdentifier(recipient, m.getSelfNumber()));
+        } catch (IOException e) {
+            throw new Error.Failure("Recipient not found");
+        }
+    }
+
+    @Override
+    public void deleteContact(final String recipient) throws Error.Failure {
+        try {
+            m.deleteContact(getSingleRecipientIdentifier(recipient, m.getSelfNumber()));
+        } catch (IOException e) {
+            throw new Error.Failure("Contact not found");
+        }
+    }
+
     @Override
     public long sendGroupMessage(final String message, final List<String> attachments, final byte[] groupId) {
         try {
@@ -661,7 +679,7 @@ public class DbusSignalImpl implements Signal {
     public List<String> listNumbers() {
         return Stream.concat(m.getIdentities().stream().map(Identity::recipient),
                         m.getContacts().stream().map(Pair::first))
-                .map(a -> a.getNumber().orElse(null))
+                .map(a -> a.number().orElse(null))
                 .filter(Objects::nonNull)
                 .distinct()
                 .collect(Collectors.toList());
@@ -680,7 +698,7 @@ public class DbusSignalImpl implements Signal {
         // Try profiles if no contact name was found
         for (var identity : m.getIdentities()) {
             final var address = identity.recipient();
-            var number = address.getNumber().orElse(null);
+            var number = address.number().orElse(null);
             if (number != null) {
                 Profile profile = null;
                 try {