+ private static void printIdentityFingerprint(Manager m, String theirUsername, JsonIdentityKeyStore.Identity theirId) {
+ String digits = formatSafetyNumber(m.computeSafetyNumber(theirUsername, theirId.identityKey));
+ System.out.println(String.format("%s: %s Added: %s Fingerprint: %s Safety Number: %s", theirUsername,
+ theirId.trustLevel, theirId.added, Hex.toStringCondensed(theirId.getFingerprint()), digits));
+ }
+
+ private static void printGroup(GroupInfo group, boolean detailed) {
+ System.out.println(String.format("Group id: %s\n Group name: %s \n active: %s",
+ Base64.encodeBytes(group.groupId), group.name, group.active));
+ if (detailed) {
+ System.out.println(" Members:");
+ for (String member : group.members) {
+ System.out.println(" " + member);
+ }
+ }
+ }
+
+ 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();
+ }
+