import org.whispersystems.signalservice.api.KeyBackupServicePinException;
import org.whispersystems.signalservice.api.KeyBackupSystemNoDataException;
import org.whispersystems.signalservice.api.push.exceptions.CaptchaRequiredException;
+import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
import java.io.IOException;
import java.net.URI;
public void registerWithCaptcha(
final String number, final boolean voiceVerification, final String captcha
) throws Error.Failure, Error.InvalidNumber {
+ if (!PhoneNumberFormatter.isValidNumber(number, null)) {
+ throw new SignalControl.Error.InvalidNumber(
+ "Invalid username (phone number), make sure you include the country code.");
+ }
try (final RegistrationManager registrationManager = c.getNewRegistrationManager(number)) {
registrationManager.register(voiceVerification, captcha);
} catch (CaptchaRequiredException e) {
synchronized (receiveThreads) {
return receiveThreads.stream()
.map(Pair::first)
- .map(Manager::getUsername)
+ .map(Manager::getSelfNumber)
.map(u -> new DBusPath(DbusConfig.getObjectPath(u)))
.collect(Collectors.toList());
}