]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/util/Util.java
Extract util methods to separate classes
[signal-cli] / src / main / java / org / asamk / signal / util / Util.java
1 package org.asamk.signal.util;
2
3 import java.io.UnsupportedEncodingException;
4 import java.net.URLDecoder;
5 import java.util.HashMap;
6 import java.util.Map;
7
8 public class Util {
9
10 private Util() {
11 }
12
13 public static String formatSafetyNumber(String digits) {
14 final int partCount = 12;
15 int partSize = digits.length() / partCount;
16 StringBuilder f = new StringBuilder(digits.length() + partCount);
17 for (int i = 0; i < partCount; i++) {
18 f.append(digits, i * partSize, (i * partSize) + partSize).append(" ");
19 }
20 return f.toString();
21 }
22
23 public static Map<String, String> getQueryMap(String query) {
24 String[] params = query.split("&");
25 Map<String, String> map = new HashMap<>();
26 for (String param : params) {
27 String name = null;
28 final String[] paramParts = param.split("=");
29 try {
30 name = URLDecoder.decode(paramParts[0], "utf-8");
31 } catch (UnsupportedEncodingException e) {
32 // Impossible
33 }
34 String value = null;
35 try {
36 value = URLDecoder.decode(paramParts[1], "utf-8");
37 } catch (UnsupportedEncodingException e) {
38 // Impossible
39 }
40 map.put(name, value);
41 }
42 return map;
43 }
44
45 public static String join(CharSequence separator, Iterable<? extends CharSequence> list) {
46 StringBuilder buf = new StringBuilder();
47 for (CharSequence str : list) {
48 if (buf.length() > 0) {
49 buf.append(separator);
50 }
51 buf.append(str);
52 }
53
54 return buf.toString();
55 }
56 }