]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java
Add Pair record
[signal-cli] / src / main / java / org / asamk / signal / dbus / DbusSignalControlImpl.java
index 35f530b0ea3c03a558d052a0f5b5e248bbdb8418..a70da5636a6d91c2df1f0d8ba51f6495a05b8961 100644 (file)
@@ -8,11 +8,12 @@ import org.asamk.signal.manager.Manager;
 import org.asamk.signal.manager.ProvisioningManager;
 import org.asamk.signal.manager.RegistrationManager;
 import org.asamk.signal.manager.UserAlreadyExists;
+import org.asamk.signal.manager.api.Pair;
 import org.freedesktop.dbus.DBusPath;
-import org.whispersystems.libsignal.util.Pair;
 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;
@@ -99,6 +100,10 @@ public class DbusSignalControlImpl implements org.asamk.SignalControl {
     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) {
@@ -155,7 +160,7 @@ public class DbusSignalControlImpl implements org.asamk.SignalControl {
         synchronized (receiveThreads) {
             return receiveThreads.stream()
                     .map(Pair::first)
-                    .map(Manager::getUsername)
+                    .map(Manager::getSelfNumber)
                     .map(u -> new DBusPath(DbusConfig.getObjectPath(u)))
                     .collect(Collectors.toList());
         }