import org.asamk.signal.storage.protocol.JsonIdentityKeyStore;
import org.asamk.signal.util.Hex;
import org.asamk.signal.util.Util;
-import org.whispersystems.libsignal.util.Pair;
import org.whispersystems.signalservice.api.util.InvalidNumberException;
import java.util.List;
-import java.util.Map;
public class ListIdentitiesCommand implements LocalCommand {
- private static void printIdentityFingerprint(Manager m, String theirUsername, JsonIdentityKeyStore.Identity theirId) {
- String digits = Util.formatSafetyNumber(m.computeSafetyNumber(theirUsername, theirId.getIdentityKey()));
- System.out.println(String.format("%s: %s Added: %s Fingerprint: %s Safety Number: %s", theirUsername,
+ private static void printIdentityFingerprint(Manager m, JsonIdentityKeyStore.Identity theirId) {
+ String digits = Util.formatSafetyNumber(m.computeSafetyNumber(theirId.getAddress(), theirId.getIdentityKey()));
+ System.out.println(String.format("%s: %s Added: %s Fingerprint: %s Safety Number: %s", theirId.getAddress().getNumber().orNull(),
theirId.getTrustLevel(), theirId.getDateAdded(), Hex.toString(theirId.getFingerprint()), digits));
}
return 1;
}
if (ns.get("number") == null) {
- for (Map.Entry<String, List<JsonIdentityKeyStore.Identity>> keys : m.getIdentities().entrySet()) {
- for (JsonIdentityKeyStore.Identity id : keys.getValue()) {
- printIdentityFingerprint(m, keys.getKey(), id);
- }
+ for (JsonIdentityKeyStore.Identity identity : m.getIdentities()) {
+ printIdentityFingerprint(m, identity);
}
} else {
String number = ns.getString("number");
try {
- Pair<String, List<JsonIdentityKeyStore.Identity>> key = m.getIdentities(number);
- for (JsonIdentityKeyStore.Identity id : key.second()) {
- printIdentityFingerprint(m, key.first(), id);
+ List<JsonIdentityKeyStore.Identity> identities = m.getIdentities(number);
+ for (JsonIdentityKeyStore.Identity id : identities) {
+ printIdentityFingerprint(m, id);
}
} catch (InvalidNumberException e) {
System.out.println("Invalid number: " + e.getMessage());