]> nmode's Git Repositories - signal-cli/commitdiff
Add --voice / -v option for voice call verification
authorJuraj Bednar <juraj@bednar.sk>
Sun, 5 Jul 2015 17:54:03 +0000 (19:54 +0200)
committerAsamK <asamk@gmx.de>
Mon, 6 Jul 2015 08:58:08 +0000 (10:58 +0200)
src/main/java/cli/Main.java
src/main/java/cli/Manager.java

index 28c64e8c46d3c600062b45774fb3113cd8bdf729..92e1b46c42095f6ef8b3541a009b8986ebd0ed77 100644 (file)
@@ -17,6 +17,7 @@
 package cli;
 
 import net.sourceforge.argparse4j.ArgumentParsers;
+import net.sourceforge.argparse4j.impl.Arguments;
 import net.sourceforge.argparse4j.inf.*;
 import org.apache.commons.io.IOUtils;
 import org.whispersystems.libaxolotl.InvalidVersionException;
@@ -45,9 +46,12 @@ public class Main {
                 .description("valid subcommands")
                 .help("additional help");
         Subparser parserRegister = subparsers.addParser("register");
+        parserRegister.addArgument("-v", "--voice")
+                    .help("The verification should be done over voice, not sms.")
+                    .action(Arguments.storeTrue());
         Subparser parserVerify = subparsers.addParser("verify");
         parserVerify.addArgument("verificationCode")
-                .help("The verification code you received via sms.");
+                .help("The verification code you received via sms or voice call.");
         Subparser parserSend = subparsers.addParser("send");
         parserSend.addArgument("recipient")
                 .help("Specify the recipients' phone number.")
@@ -82,7 +86,7 @@ public class Main {
                     m.createNewIdentity();
                 }
                 try {
-                    m.register();
+                    m.register(ns.getBoolean("voice"));
                 } catch (IOException e) {
                     System.out.println("Request verify error: " + e.getMessage());
                     System.exit(3);
index ff2178b416245c14e7e96ca282112f4fa69df661..433c43dc3dc360bbb5a6a5f8c1150f2eb2148899 100644 (file)
@@ -117,12 +117,16 @@ public class Manager {
         return registered;
     }
 
-    public void register() throws IOException {
+    public void register(boolean voiceVerication) throws IOException {
         password = Util.getSecret(18);
 
         accountManager = new TextSecureAccountManager(URL, TRUST_STORE, username, password);
 
-        accountManager.requestSmsVerificationCode();
+        if (voiceVerication)
+            accountManager.requestVoiceVerificationCode();
+        else
+            accountManager.requestSmsVerificationCode();
+
         registered = false;
     }