diff --git a/man/signal-cli-dbus.5.adoc b/man/signal-cli-dbus.5.adoc index a5016309..361194ea 100755 --- a/man/signal-cli-dbus.5.adoc +++ b/man/signal-cli-dbus.5.adoc @@ -193,13 +193,13 @@ setContactName(number,name<>) -> <>:: listIdentities() -> identities:: * contactNumber : Phone number of contact -* identities : Array of dictionaries with key contactNumber and values listed below +* identities : Array of dictionary entries with key contactNumber and values listed below ** trustLevel : String representation of trust level ** dateAdded : String representation of date added ** fingerprint : String representation of hexadecimal fingerprint ** safetyNumber : String representation of safety number (10 or 11 space-separated six-digit numbers) -Returns an array of dictionaries for all contacts (obtained by listNumbers() and screened to exclude those with no identity information). For each dictionary, the key is the contactNumber and the value is a list of four strings: trustLevel, dateAdded, fingerprint, safetyNumber. +Returns an array of dictionary entries for all contacts (obtained by listNumbers() and screened to exclude those with no identity information). For each dictionary, the key is the contactNumber and the value is a list of four strings: trustLevel, dateAdded, fingerprint, safetyNumber. Exceptions: None diff --git a/src/main/java/org/asamk/Signal.java b/src/main/java/org/asamk/Signal.java index d6575f35..e45e0f92 100644 --- a/src/main/java/org/asamk/Signal.java +++ b/src/main/java/org/asamk/Signal.java @@ -65,7 +65,7 @@ public interface Signal extends DBusInterface { String emoji, boolean remove, String targetAuthor, long targetSentTimestamp, byte[] groupId ) throws Error.GroupNotFound, Error.Failure, Error.InvalidNumber, Error.InvalidGroupId; - List>> listIdentities(); + Map> listIdentities(); Map> listIdentities(String number) throws Error.InvalidNumber; diff --git a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java index 0f7d764b..4fab7df4 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java @@ -300,16 +300,17 @@ public class DbusSignalImpl implements Signal { } @Override - public List>> listIdentities() { + public Map> listIdentities() { List numbers = listNumbers(); - List>> results = new ArrayList<>(); + Map> result = new HashMap<>(); + if (numbers.isEmpty()) {return result;} for (String number:numbers) { Map> identity = listIdentities(number); if (! identity.isEmpty()) { - results.add(identity); + result.put(number, identity.get(number)); } } - return results; + return result; } @Override