]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/util/Util.java
Move group classes to separate package
[signal-cli] / src / main / java / org / asamk / signal / util / Util.java
index e7a6866842ed50156373e96bcfe29c16f428983b..79a6587b5083733c442547f9e7c212601dffd06f 100644 (file)
@@ -1,10 +1,14 @@
 package org.asamk.signal.util;
 
 import com.fasterxml.jackson.databind.JsonNode;
-import org.asamk.signal.GroupIdFormatException;
-import org.whispersystems.signalservice.internal.util.Base64;
 
-import java.io.IOException;
+import org.asamk.signal.manager.groups.GroupId;
+import org.asamk.signal.manager.groups.GroupIdFormatException;
+import org.whispersystems.signalservice.api.push.SignalServiceAddress;
+import org.whispersystems.signalservice.api.util.InvalidNumberException;
+import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
+import org.whispersystems.signalservice.api.util.UuidUtil;
+
 import java.io.InvalidObjectException;
 
 public class Util {
@@ -37,17 +41,26 @@ public class Util {
     public static JsonNode getNotNullNode(JsonNode parent, String name) throws InvalidObjectException {
         JsonNode node = parent.get(name);
         if (node == null) {
-            throw new InvalidObjectException(String.format("Incorrect file format: expected parameter %s not found ", name));
+            throw new InvalidObjectException(String.format("Incorrect file format: expected parameter %s not found ",
+                    name));
         }
 
         return node;
     }
 
-    public static byte[] decodeGroupId(String groupId) throws GroupIdFormatException {
-        try {
-            return Base64.decode(groupId);
-        } catch (IOException e) {
-            throw new GroupIdFormatException(groupId, e);
+    public static GroupId decodeGroupId(String groupId) throws GroupIdFormatException {
+        return GroupId.fromBase64(groupId);
+    }
+
+    public static String canonicalizeNumber(String number, String localNumber) throws InvalidNumberException {
+        return PhoneNumberFormatter.formatNumber(number, localNumber);
+    }
+
+    public static SignalServiceAddress getSignalServiceAddressFromIdentifier(final String identifier) {
+        if (UuidUtil.isUuid(identifier)) {
+            return new SignalServiceAddress(UuidUtil.parseOrNull(identifier), null);
+        } else {
+            return new SignalServiceAddress(null, identifier);
         }
     }
 }