]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java
Merge branch master into dbus_updateConfiguration
[signal-cli] / src / main / java / org / asamk / signal / dbus / DbusSignalImpl.java
index d0e33a40e66ba2abc03d7ae61e5ae8883663ea72..41eca5da388306c979e8011dd8876fb0a9c0f38b 100644 (file)
@@ -667,12 +667,36 @@ public class DbusSignalImpl implements Signal {
         try {
             return m.uploadStickerPack(path).toString();
         } catch (IOException e) {
         try {
             return m.uploadStickerPack(path).toString();
         } catch (IOException e) {
-            throw new Error.Failure("Upload error (maybe image size is too large):" + e.getMessage());
+            throw new Error.IOError("Upload error (maybe image size is too large):" + e.getMessage());
         } catch (StickerPackInvalidException e) {
             throw new Error.Failure("Invalid sticker pack: " + e.getMessage());
         }
     }
 
         } catch (StickerPackInvalidException e) {
             throw new Error.Failure("Invalid sticker pack: " + e.getMessage());
         }
     }
 
+    @Override
+    public void setConfiguration(boolean readReceipts, boolean unidentifiedDeliveryIndicators, boolean typingIndicators, boolean linkPreviews) {
+          try {
+              m.updateConfiguration(readReceipts, unidentifiedDeliveryIndicators, typingIndicators, linkPreviews);
+          } catch (IOException e) {
+              throw new Error.IOError("UpdateAccount error: " + e.getMessage());
+          } catch (NotMasterDeviceException e) {
+              throw new Error.UserError("This command doesn't work on linked devices.");
+          }
+    }
+
+    @Override
+    public List<Boolean> getConfiguration() {
+        List<Boolean> config = new ArrayList<>(4);
+        try {
+            config = m.getConfiguration();
+        } catch (IOException e) {
+            throw new Error.IOError("Configuration storage error: " + e.getMessage());
+        } catch (NotMasterDeviceException e) {
+            throw new Error.UserError("This command doesn't work on linked devices.");
+        }
+        return config;
+    }
+
     private static void checkSendMessageResult(long timestamp, SendMessageResult result) throws DBusExecutionException {
         var error = ErrorUtils.getErrorMessageFromSendMessageResult(result);
 
     private static void checkSendMessageResult(long timestamp, SendMessageResult result) throws DBusExecutionException {
         var error = ErrorUtils.getErrorMessageFromSendMessageResult(result);