]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/Manager.java
Fix addDevice
[signal-cli] / src / main / java / org / asamk / signal / Manager.java
index 961be232048747e56eedfe6f16a99eac4faa9b41..3931f3e31928ac5d6513b9e9c0372ed370c0607e 100644 (file)
@@ -264,6 +264,10 @@ class Manager implements Signal {
         return accountManager.getDevices();
     }
 
+    public void removeLinkedDevices(int deviceId) throws IOException {
+        accountManager.removeDevice(deviceId);
+    }
+
     public static Map<String, String> getQueryMap(String query) {
         String[] params = query.split("&");
         Map<String, String> map = new HashMap<>();
@@ -286,7 +290,7 @@ class Manager implements Signal {
     }
 
     public void addDeviceLink(URI linkUri) throws IOException, InvalidKeyException {
-        Map<String, String> query = getQueryMap(linkUri.getQuery());
+        Map<String, String> query = getQueryMap(linkUri.getRawQuery());
         String deviceIdentifier = query.get("uuid");
         String publicKeyEncoded = query.get("pub_key");
 
@@ -296,10 +300,10 @@ class Manager implements Signal {
 
         ECPublicKey deviceKey = Curve.decodePoint(Base64.decode(publicKeyEncoded), 0);
 
-        addDeviceLink(deviceIdentifier, deviceKey);
+        addDevice(deviceIdentifier, deviceKey);
     }
 
-    private void addDeviceLink(String deviceIdentifier, ECPublicKey deviceKey) throws IOException, InvalidKeyException {
+    private void addDevice(String deviceIdentifier, ECPublicKey deviceKey) throws IOException, InvalidKeyException {
         IdentityKeyPair identityKeyPair = signalProtocolStore.getIdentityKeyPair();
         String verificationCode = accountManager.getNewDeviceVerificationCode();