Option: -d/--detailed to display group members
+ break;
+ case "listGroups":
+ if (dBusConn != null) {
+ System.err.println("listGroups is not yet implemented via dbus");
+ return 1;
+ }
+ if (!m.isRegistered()) {
+ System.err.println("User is not registered.");
+ return 1;
+ }
+
+ List<GroupInfo> groups = m.getGroups();
+
+ for (GroupInfo group : groups) {
+ printGroup(group, ns.getBoolean("detailed"));
+ }
break;
case "listIdentities":
if (dBusConn != null) {
break;
case "listIdentities":
if (dBusConn != null) {
System.out.println(String.format("%s: %s Added: %s Fingerprint: %s Safety Number: %s", theirUsername,
theirId.trustLevel, theirId.added, Hex.toStringCondensed(theirId.getFingerprint()), digits));
}
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;
private static String formatSafetyNumber(String digits) {
final int partCount = 12;
parserUpdateGroup.addArgument("-m", "--member")
.nargs("*")
.help("Specify one or more members to add to the group");
parserUpdateGroup.addArgument("-m", "--member")
.nargs("*")
.help("Specify one or more members to add to the group");
+
+ Subparser parserListGroups = subparsers.addParser("listGroups");
+ parserListGroups.addArgument("-d", "--detailed").action(Arguments.storeTrue())
+ .help("List members of each group");
+ parserListGroups.help("List group name and ids");
Subparser parserListIdentities = subparsers.addParser("listIdentities");
parserListIdentities.addArgument("-n", "--number")
Subparser parserListIdentities = subparsers.addParser("listIdentities");
parserListIdentities.addArgument("-n", "--number")
}
throw new NotAGroupMemberException(groupId, g.name);
}
}
throw new NotAGroupMemberException(groupId, g.name);
}
+
+ public List<GroupInfo> getGroups() {
+ return groupStore.getGroups();
+ }
@Override
public void sendGroupMessage(String messageText, List<String> attachments,
@Override
public void sendGroupMessage(String messageText, List<String> attachments,