]>
nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/util/Util.java
1 package org
.asamk
.signal
.util
;
3 import com
.fasterxml
.jackson
.databind
.JsonNode
;
5 import org
.asamk
.signal
.GroupIdFormatException
;
6 import org
.whispersystems
.signalservice
.api
.push
.SignalServiceAddress
;
7 import org
.whispersystems
.signalservice
.api
.util
.InvalidNumberException
;
8 import org
.whispersystems
.signalservice
.api
.util
.PhoneNumberFormatter
;
9 import org
.whispersystems
.signalservice
.api
.util
.UuidUtil
;
10 import org
.whispersystems
.util
.Base64
;
12 import java
.io
.IOException
;
13 import java
.io
.InvalidObjectException
;
20 public static String
formatSafetyNumber(String digits
) {
21 final int partCount
= 12;
22 int partSize
= digits
.length() / partCount
;
23 StringBuilder f
= new StringBuilder(digits
.length() + partCount
);
24 for (int i
= 0; i
< partCount
; i
++) {
25 f
.append(digits
, i
* partSize
, (i
* partSize
) + partSize
).append(" ");
30 public static String
join(CharSequence separator
, Iterable
<?
extends CharSequence
> list
) {
31 StringBuilder buf
= new StringBuilder();
32 for (CharSequence str
: list
) {
33 if (buf
.length() > 0) {
34 buf
.append(separator
);
39 return buf
.toString();
42 public static JsonNode
getNotNullNode(JsonNode parent
, String name
) throws InvalidObjectException
{
43 JsonNode node
= parent
.get(name
);
45 throw new InvalidObjectException(String
.format("Incorrect file format: expected parameter %s not found ", name
));
51 public static byte[] decodeGroupId(String groupId
) throws GroupIdFormatException
{
53 return Base64
.decode(groupId
);
54 } catch (IOException e
) {
55 throw new GroupIdFormatException(groupId
, e
);
59 public static String
canonicalizeNumber(String number
, String localNumber
) throws InvalidNumberException
{
60 return PhoneNumberFormatter
.formatNumber(number
, localNumber
);
63 public static SignalServiceAddress
getSignalServiceAddressFromIdentifier(final String identifier
) {
64 if (UuidUtil
.isUuid(identifier
)) {
65 return new SignalServiceAddress(UuidUtil
.parseOrNull(identifier
), null);
67 return new SignalServiceAddress(null, identifier
);