import net.sourceforge.argparse4j.inf.*;
import org.apache.http.util.TextUtils;
import org.asamk.Signal;
+import org.asamk.signal.storage.contacts.ContactInfo;
+import org.asamk.signal.storage.groups.GroupInfo;
+import org.asamk.signal.storage.protocol.JsonIdentityKeyStore;
+import org.asamk.signal.util.Base64;
+import org.asamk.signal.util.Hex;
import org.freedesktop.dbus.DBusConnection;
import org.freedesktop.dbus.DBusSigHandler;
import org.freedesktop.dbus.exceptions.DBusException;
System.err.println("User is not registered.");
return 1;
}
-
+
List<GroupInfo> groups = m.getGroups();
-
+ boolean detailed = ns.getBoolean("detailed");
+
for (GroupInfo group : groups) {
- printGroup(group, ns.getBoolean("detailed"));
+ printGroup(group, detailed);
}
break;
case "listIdentities":
}
private static void printIdentityFingerprint(Manager m, String theirUsername, JsonIdentityKeyStore.Identity theirId) {
- String digits = formatSafetyNumber(m.computeSafetyNumber(theirUsername, theirId.identityKey));
+ String digits = formatSafetyNumber(m.computeSafetyNumber(theirUsername, theirId.getIdentityKey()));
System.out.println(String.format("%s: %s Added: %s Fingerprint: %s Safety Number: %s", theirUsername,
- theirId.trustLevel, theirId.added, Hex.toStringCondensed(theirId.getFingerprint()), digits));
+ theirId.getTrustLevel(), theirId.getDateAdded(), 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);
- }
+ 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));
}
}
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");
if (attachment.isPointer()) {
final SignalServiceAttachmentPointer pointer = attachment.asPointer();
System.out.println(" Id: " + pointer.getId() + " Key length: " + pointer.getKey().length + (pointer.getRelay().isPresent() ? " Relay: " + pointer.getRelay().get() : ""));
+ System.out.println(" Filename: " + (pointer.getFileName().isPresent() ? pointer.getFileName().get() : "-"));
System.out.println(" Size: " + (pointer.getSize().isPresent() ? pointer.getSize().get() + " bytes" : "<unavailable>") + (pointer.getPreview().isPresent() ? " (Preview is available: " + pointer.getPreview().get().length + " bytes)" : ""));
File file = m.getAttachmentFile(pointer.getId());
if (file.exists()) {