]> nmode's Git Repositories - signal-cli/commitdiff
Add sendSyncRequest command
authorAsamK <asamk@gmx.de>
Mon, 3 May 2021 18:37:13 +0000 (20:37 +0200)
committerAsamK <asamk@gmx.de>
Mon, 3 May 2021 18:37:13 +0000 (20:37 +0200)
lib/src/main/java/org/asamk/signal/manager/Manager.java
lib/src/main/java/org/asamk/signal/manager/ProvisioningManager.java
src/main/java/org/asamk/signal/commands/Commands.java
src/main/java/org/asamk/signal/commands/SendSyncRequestCommand.java [new file with mode: 0644]

index 38f37ed2a1d417dcc7343e42201b0feaa6b5b2fe..99f71563a7978e494bc8f8d467e95a013174d62f 100644 (file)
@@ -1192,7 +1192,15 @@ public class Manager implements Closeable {
         }
     }
 
-    void requestSyncGroups() throws IOException {
+    public void requestAllSyncData() throws IOException {
+        requestSyncGroups();
+        requestSyncContacts();
+        requestSyncBlocked();
+        requestSyncConfiguration();
+        requestSyncKeys();
+    }
+
+    private void requestSyncGroups() throws IOException {
         var r = SignalServiceProtos.SyncMessage.Request.newBuilder()
                 .setType(SignalServiceProtos.SyncMessage.Request.Type.GROUPS)
                 .build();
@@ -1204,7 +1212,7 @@ public class Manager implements Closeable {
         }
     }
 
-    void requestSyncContacts() throws IOException {
+    private void requestSyncContacts() throws IOException {
         var r = SignalServiceProtos.SyncMessage.Request.newBuilder()
                 .setType(SignalServiceProtos.SyncMessage.Request.Type.CONTACTS)
                 .build();
@@ -1216,7 +1224,7 @@ public class Manager implements Closeable {
         }
     }
 
-    void requestSyncBlocked() throws IOException {
+    private void requestSyncBlocked() throws IOException {
         var r = SignalServiceProtos.SyncMessage.Request.newBuilder()
                 .setType(SignalServiceProtos.SyncMessage.Request.Type.BLOCKED)
                 .build();
@@ -1228,7 +1236,7 @@ public class Manager implements Closeable {
         }
     }
 
-    void requestSyncConfiguration() throws IOException {
+    private void requestSyncConfiguration() throws IOException {
         var r = SignalServiceProtos.SyncMessage.Request.newBuilder()
                 .setType(SignalServiceProtos.SyncMessage.Request.Type.CONFIGURATION)
                 .build();
@@ -1240,7 +1248,7 @@ public class Manager implements Closeable {
         }
     }
 
-    void requestSyncKeys() throws IOException {
+    private void requestSyncKeys() throws IOException {
         var r = SignalServiceProtos.SyncMessage.Request.newBuilder()
                 .setType(SignalServiceProtos.SyncMessage.Request.Type.KEYS)
                 .build();
index 37ac4cdb03ef43061ca6adf0d3f786b4baacb343..67506be89d1322d74c1749bbdd82f6da9acbd2e0 100644 (file)
@@ -138,11 +138,7 @@ public class ProvisioningManager {
                 }
 
                 try {
-                    m.requestSyncGroups();
-                    m.requestSyncContacts();
-                    m.requestSyncBlocked();
-                    m.requestSyncConfiguration();
-                    m.requestSyncKeys();
+                    m.requestAllSyncData();
                 } catch (Exception e) {
                     logger.error("Failed to request sync messages from linked device.");
                     throw e;
index 830049a584df5181571a5d0a13287306086d5c96..c79ba239cdc5a02c0720abda8fdb5ba4173c11b3 100644 (file)
@@ -27,6 +27,7 @@ public class Commands {
         addCommand("send", new SendCommand());
         addCommand("sendContacts", new SendContactsCommand());
         addCommand("sendReaction", new SendReactionCommand());
+        addCommand("sendSyncRequest", new SendSyncRequestCommand());
         addCommand("setPin", new SetPinCommand());
         addCommand("trust", new TrustCommand());
         addCommand("unblock", new UnblockCommand());
diff --git a/src/main/java/org/asamk/signal/commands/SendSyncRequestCommand.java b/src/main/java/org/asamk/signal/commands/SendSyncRequestCommand.java
new file mode 100644 (file)
index 0000000..db021a4
--- /dev/null
@@ -0,0 +1,27 @@
+package org.asamk.signal.commands;
+
+import net.sourceforge.argparse4j.inf.Namespace;
+import net.sourceforge.argparse4j.inf.Subparser;
+
+import org.asamk.signal.commands.exceptions.CommandException;
+import org.asamk.signal.commands.exceptions.IOErrorException;
+import org.asamk.signal.manager.Manager;
+
+import java.io.IOException;
+
+public class SendSyncRequestCommand implements LocalCommand {
+
+    @Override
+    public void attachToSubparser(final Subparser subparser) {
+        subparser.help("Send a synchronization request message to master device (for group, contacts, ...).");
+    }
+
+    @Override
+    public void handleCommand(final Namespace ns, final Manager m) throws CommandException {
+        try {
+            m.requestAllSyncData();
+        } catch (IOException e) {
+            throw new IOErrorException("Request sync data error: " + e.getMessage());
+        }
+    }
+}