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;
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;
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);
+ }
}