X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/6f5e72119e0c996f1efefecda11e33422d44a171..ed79e0b37717a51ff83114a07202c25fcc274206:/src/main/java/org/asamk/signal/commands/UpdateConfigurationCommand.java diff --git a/src/main/java/org/asamk/signal/commands/UpdateConfigurationCommand.java b/src/main/java/org/asamk/signal/commands/UpdateConfigurationCommand.java index 9ca126d0..03882e25 100644 --- a/src/main/java/org/asamk/signal/commands/UpdateConfigurationCommand.java +++ b/src/main/java/org/asamk/signal/commands/UpdateConfigurationCommand.java @@ -3,14 +3,14 @@ package org.asamk.signal.commands; import net.sourceforge.argparse4j.inf.Namespace; import net.sourceforge.argparse4j.inf.Subparser; -import org.asamk.signal.OutputWriter; import org.asamk.signal.commands.exceptions.CommandException; -import org.asamk.signal.commands.exceptions.IOErrorException; import org.asamk.signal.commands.exceptions.UserErrorException; import org.asamk.signal.manager.Manager; -import org.asamk.signal.manager.NotMasterDeviceException; +import org.asamk.signal.manager.api.Configuration; +import org.asamk.signal.manager.api.NotPrimaryDeviceException; +import org.asamk.signal.output.OutputWriter; -import java.io.IOException; +import java.util.Optional; public class UpdateConfigurationCommand implements JsonRpcLocalCommand { @@ -38,17 +38,20 @@ public class UpdateConfigurationCommand implements JsonRpcLocalCommand { @Override public void handleCommand( - final Namespace ns, final Manager m, final OutputWriter outputWriter + final Namespace ns, + final Manager m, + final OutputWriter outputWriter ) throws CommandException { final var readReceipts = ns.getBoolean("read-receipts"); final var unidentifiedDeliveryIndicators = ns.getBoolean("unidentified-delivery-indicators"); final var typingIndicators = ns.getBoolean("typing-indicators"); final var linkPreviews = ns.getBoolean("link-previews"); try { - m.updateConfiguration(readReceipts, unidentifiedDeliveryIndicators, typingIndicators, linkPreviews); - } catch (IOException e) { - throw new IOErrorException("UpdateAccount error: " + e.getMessage(), e); - } catch (NotMasterDeviceException e) { + m.updateConfiguration(new Configuration(Optional.ofNullable(readReceipts), + Optional.ofNullable(unidentifiedDeliveryIndicators), + Optional.ofNullable(typingIndicators), + Optional.ofNullable(linkPreviews))); + } catch (NotPrimaryDeviceException e) { throw new UserErrorException("This command doesn't work on linked devices."); } }