X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/33956bde62d4fc7de5325bf3bb7be3b323863442..0ad42a72ab64e663733eb7ab89b6de5ec9f80a4a:/src/main/java/org/asamk/signal/Main.java diff --git a/src/main/java/org/asamk/signal/Main.java b/src/main/java/org/asamk/signal/Main.java index 0d2e6f06..9ffcb660 100644 --- a/src/main/java/org/asamk/signal/Main.java +++ b/src/main/java/org/asamk/signal/Main.java @@ -40,6 +40,8 @@ import org.whispersystems.signalservice.api.util.PhoneNumberFormatter; import java.io.File; import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; import java.security.Security; import java.util.ArrayList; import java.util.List; @@ -177,6 +179,28 @@ public class Main { System.exit(3); } break; + case "addDevice": + if (dBusConn != null) { + System.err.println("link is not yet implemented via dbus"); + System.exit(1); + } + if (!m.isRegistered()) { + System.err.println("User is not registered."); + System.exit(1); + } + try { + m.addDeviceLink(new URI(ns.getString("uri"))); + } catch (IOException e) { + e.printStackTrace(); + System.exit(3); + } catch (InvalidKeyException e) { + e.printStackTrace(); + System.exit(2); + } catch (URISyntaxException e) { + e.printStackTrace(); + System.exit(2); + } + break; case "send": if (dBusConn == null && !m.isRegistered()) { System.err.println("User is not registered."); @@ -462,6 +486,11 @@ public class Main { parserLink.addArgument("-n", "--name") .help("Specify a name to describe this new device."); + Subparser parserAddDevice = subparsers.addParser("addDevice"); + parserAddDevice.addArgument("--uri") + .required(true) + .help("Specify the uri contained in the QR code shown by the new device."); + Subparser parserRegister = subparsers.addParser("register"); parserRegister.addArgument("-v", "--voice") .help("The verification should be done over voice, not sms.") @@ -593,6 +622,7 @@ public class Main { handleSignalServiceDataMessage(message, group); } if (content.getSyncMessage().isPresent()) { + System.out.println("Received a sync message"); SignalServiceSyncMessage syncMessage = content.getSyncMessage().get(); if (syncMessage.getContacts().isPresent()) {