]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/Manager.java
Move RecipientStore to recipients package
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / Manager.java
index d34f4e083d7f6f71413e9c8b417ce4f448df2077..5d0e7d3dfca0ec4605918fdc9f034f9839b63c60 100644 (file)
@@ -529,7 +529,7 @@ public class Manager implements Closeable {
                 ServiceConfig.AUTOMATIC_NETWORK_RETRY);
     }
 
-    private SignalProfile getRecipientProfile(
+    public SignalProfile getRecipientProfile(
             SignalServiceAddress address
     ) {
         return getRecipientProfile(address, false);
@@ -992,6 +992,22 @@ public class Manager implements Closeable {
         return sendSelfMessage(messageBuilder);
     }
 
+    public Pair<Long, List<SendMessageResult>> sendRemoteDeleteMessage(
+            long targetSentTimestamp, List<String> recipients
+    ) throws IOException, InvalidNumberException {
+        var delete = new SignalServiceDataMessage.RemoteDelete(targetSentTimestamp);
+        final var messageBuilder = SignalServiceDataMessage.newBuilder().withRemoteDelete(delete);
+        return sendMessage(messageBuilder, getSignalServiceAddresses(recipients));
+    }
+
+    public Pair<Long, List<SendMessageResult>> sendGroupRemoteDeleteMessage(
+            long targetSentTimestamp, GroupId groupId
+    ) throws IOException, NotAGroupMemberException, GroupNotFoundException {
+        var delete = new SignalServiceDataMessage.RemoteDelete(targetSentTimestamp);
+        final var messageBuilder = SignalServiceDataMessage.newBuilder().withRemoteDelete(delete);
+        return sendGroupMessage(messageBuilder, groupId);
+    }
+
     public Pair<Long, List<SendMessageResult>> sendMessageReaction(
             String emoji, boolean remove, String targetAuthor, long targetSentTimestamp, List<String> recipients
     ) throws IOException, InvalidNumberException {
@@ -2367,7 +2383,6 @@ public class Manager implements Closeable {
         if (profileEntry != null && profileEntry.getProfile() != null) {
             return profileEntry.getProfile().getDisplayName();
         }
-
         return null;
     }