]> nmode's Git Repositories - signal-cli/commitdiff
Canonicalize recipient addresses
authorAsamK <asamk@gmx.de>
Tue, 7 Jul 2015 09:42:24 +0000 (11:42 +0200)
committerAsamK <asamk@gmx.de>
Tue, 7 Jul 2015 09:42:24 +0000 (11:42 +0200)
src/main/java/cli/Main.java
src/main/java/cli/Manager.java

index 9a3e5b36654dfd713e846a38bb0a7807c95b2ebf..adeb5262588295bfdf3ece96b7c3aa95c8479ff4 100644 (file)
@@ -24,7 +24,7 @@ import org.whispersystems.textsecure.api.TextSecureMessageSender;
 import org.whispersystems.textsecure.api.crypto.UntrustedIdentityException;
 import org.whispersystems.textsecure.api.messages.*;
 import org.whispersystems.textsecure.api.messages.multidevice.TextSecureSyncMessage;
-import org.whispersystems.textsecure.api.push.TextSecureAddress;
+import org.whispersystems.textsecure.api.util.InvalidNumberException;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -152,9 +152,9 @@ public class Main {
                 TextSecureDataMessage message = messageBuilder.build();
                 for (String recipient : ns.<String>getList("recipient")) {
                     try {
-                        messageSender.sendMessage(new TextSecureAddress(recipient), message);
-                    } catch (UntrustedIdentityException | IOException e) {
-                        System.out.println("Send message: " + e.getMessage());
+                        messageSender.sendMessage(m.getPushAddress(recipient), message);
+                    } catch (UntrustedIdentityException | IOException | InvalidNumberException e) {
+                        System.out.println("Failed to send message  to \"" + recipient + "\": " + e.getMessage());
                     }
                 }
                 break;
index cd5f6305aa6721ee4dcf10fdc0edaff2eaeba9d1..3da46f1d2fa73810dcc3814eabbde2d0bb5a63e8 100644 (file)
@@ -206,4 +206,14 @@ public class Manager {
                 messagePipe.shutdown();
         }
     }
+
+    public String canonicalizeNumber(String number) throws InvalidNumberException {
+        String localNumber = username;
+        return PhoneNumberFormatter.formatNumber(number, localNumber);
+    }
+
+    protected TextSecureAddress getPushAddress(String number) throws InvalidNumberException {
+        String e164number = canonicalizeNumber(number);
+        return new TextSecureAddress(e164number);
+    }
 }