+ private static void printIdentityFingerprint(Manager m, String theirUsername, JsonIdentityKeyStore.Identity theirId) {
+ String digits = formatSafetyNumber(m.computeSafetyNumber(theirUsername, theirId.getIdentityKey()));
+ System.out.println(String.format("%s: %s Added: %s Fingerprint: %s Safety Number: %s", theirUsername,
+ theirId.getTrustLevel(), theirId.getDateAdded(), Hex.toStringCondensed(theirId.getFingerprint()), digits));
+ }
+
+ private static void printGroup(GroupInfo group, boolean detailed) {
+ if (detailed) {
+ System.out.println(String.format("Id: %s Name: %s Active: %s Members: %s",
+ Base64.encodeBytes(group.groupId), group.name, group.active, group.members));
+ } else {
+ System.out.println(String.format("Id: %s Name: %s Active: %s", Base64.encodeBytes(group.groupId),
+ group.name, group.active));
+ }
+ }
+
+ private static String formatSafetyNumber(String digits) {
+ final int partCount = 12;
+ int partSize = digits.length() / partCount;
+ StringBuilder f = new StringBuilder(digits.length() + partCount);
+ for (int i = 0; i < partCount; i++) {
+ f.append(digits.substring(i * partSize, (i * partSize) + partSize)).append(" ");
+ }
+ return f.toString();
+ }
+