]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/helper/SyncHelper.java
Implement configuration handling
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / helper / SyncHelper.java
index 6db1ca7d838ca51fe1bcc6d8cece558545315643..e3fc7fc26676e7f7e284ef5d80b1d75f4c8cc12f 100644 (file)
@@ -14,6 +14,7 @@ import org.whispersystems.libsignal.util.guava.Optional;
 import org.whispersystems.signalservice.api.messages.SignalServiceAttachment;
 import org.whispersystems.signalservice.api.messages.SignalServiceAttachmentStream;
 import org.whispersystems.signalservice.api.messages.multidevice.BlockedListMessage;
+import org.whispersystems.signalservice.api.messages.multidevice.ConfigurationMessage;
 import org.whispersystems.signalservice.api.messages.multidevice.ContactsMessage;
 import org.whispersystems.signalservice.api.messages.multidevice.DeviceContact;
 import org.whispersystems.signalservice.api.messages.multidevice.DeviceContactsInputStream;
@@ -221,6 +222,15 @@ public class SyncHelper {
         sendHelper.sendSyncMessage(SignalServiceSyncMessage.forKeys(keysMessage));
     }
 
+    public void sendConfigurationMessage() throws IOException {
+        final var config = account.getConfigurationStore();
+        var configurationMessage = new ConfigurationMessage(Optional.fromNullable(config.getReadReceipts()),
+                Optional.fromNullable(config.getUnidentifiedDeliveryIndicators()),
+                Optional.fromNullable(config.getTypingIndicators()),
+                Optional.fromNullable(config.getLinkPreviews()));
+        sendHelper.sendSyncMessage(SignalServiceSyncMessage.forConfiguration(configurationMessage));
+    }
+
     public void handleSyncDeviceContacts(final InputStream input) throws IOException {
         final var s = new DeviceContactsInputStream(input);
         DeviceContact c;