]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java
Dbus get/setConfiguration methods
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / ManagerImpl.java
index 36c131db1996941cc80724e2e0eae0a33653b55d..b8414329d77ccc14b7037a8ca7ef658d3faa4541 100644 (file)
@@ -209,7 +209,7 @@ public class ManagerImpl implements Manager {
                 avatarStore,
                 this::resolveSignalServiceAddress,
                 account.getRecipientStore());
-        this.storageHelper = new StorageHelper(account, dependencies, groupHelper);
+        this.storageHelper = new StorageHelper(account, dependencies, groupHelper, profileHelper);
         this.contactHelper = new ContactHelper(account);
         this.syncHelper = new SyncHelper(account,
                 attachmentHelper,
@@ -330,21 +330,36 @@ public class ManagerImpl implements Manager {
         if (!account.isMasterDevice()) {
             throw new NotMasterDeviceException();
         }
+
+        final var configurationStore = account.getConfigurationStore();
         if (readReceipts != null) {
-            account.getConfigurationStore().setReadReceipts(readReceipts);
+            configurationStore.setReadReceipts(readReceipts);
         }
         if (unidentifiedDeliveryIndicators != null) {
-            account.getConfigurationStore().setUnidentifiedDeliveryIndicators(unidentifiedDeliveryIndicators);
+            configurationStore.setUnidentifiedDeliveryIndicators(unidentifiedDeliveryIndicators);
         }
         if (typingIndicators != null) {
-            account.getConfigurationStore().setTypingIndicators(typingIndicators);
+            configurationStore.setTypingIndicators(typingIndicators);
         }
         if (linkPreviews != null) {
-            account.getConfigurationStore().setLinkPreviews(linkPreviews);
+            configurationStore.setLinkPreviews(linkPreviews);
         }
         syncHelper.sendConfigurationMessage();
     }
 
+    @Override
+    public List<Boolean> getConfiguration() throws IOException, NotMasterDeviceException {
+        if (!account.isMasterDevice()) {
+            throw new NotMasterDeviceException();
+        }
+        final var configurationStore = account.getConfigurationStore();
+        final Boolean readReceipts = configurationStore.getReadReceipts();
+        final Boolean unidentifiedDeliveryIndicators = configurationStore.getUnidentifiedDeliveryIndicators();
+        final Boolean typingIndicators = configurationStore.getTypingIndicators();
+        final Boolean linkPreviews = configurationStore.getLinkPreviews();
+        return List.of(readReceipts, unidentifiedDeliveryIndicators, typingIndicators, linkPreviews);
+    }
+
     /**
      * @param givenName  if null, the previous givenName will be kept
      * @param familyName if null, the previous familyName will be kept
@@ -412,7 +427,7 @@ public class ManagerImpl implements Manager {
     }
 
     @Override
-    public void removeLinkedDevices(int deviceId) throws IOException {
+    public void removeLinkedDevices(long deviceId) throws IOException {
         dependencies.getAccountManager().removeDevice(deviceId);
         var devices = dependencies.getAccountManager().getDevices();
         account.setMultiDevice(devices.size() > 1);