]>
nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/commands/ListGroupsCommand.java
1 package org
.asamk
.signal
.commands
;
3 import net
.sourceforge
.argparse4j
.impl
.Arguments
;
4 import net
.sourceforge
.argparse4j
.inf
.Namespace
;
5 import net
.sourceforge
.argparse4j
.inf
.Subparser
;
6 import org
.asamk
.signal
.manager
.Manager
;
7 import org
.asamk
.signal
.storage
.groups
.GroupInfo
;
8 import org
.whispersystems
.signalservice
.internal
.util
.Base64
;
10 import java
.util
.List
;
12 public class ListGroupsCommand
implements LocalCommand
{
14 private static void printGroup(GroupInfo group
, boolean detailed
) {
16 System
.out
.println(String
.format("Id: %s Name: %s Active: %s Members: %s",
17 Base64
.encodeBytes(group
.groupId
), group
.name
, group
.active
, group
.members
));
19 System
.out
.println(String
.format("Id: %s Name: %s Active: %s", Base64
.encodeBytes(group
.groupId
),
20 group
.name
, group
.active
));
25 public void attachToSubparser(final Subparser subparser
) {
26 subparser
.addArgument("-d", "--detailed").action(Arguments
.storeTrue())
27 .help("List members of each group");
28 subparser
.help("List group name and ids");
32 public int handleCommand(final Namespace ns
, final Manager m
) {
33 if (!m
.isRegistered()) {
34 System
.err
.println("User is not registered.");
38 List
<GroupInfo
> groups
= m
.getGroups();
39 boolean detailed
= ns
.getBoolean("detailed");
41 for (GroupInfo group
: groups
) {
42 printGroup(group
, detailed
);