implement isRegistered methods for DBus clients

in Signal.java:
+    boolean isRegistered(String number)
+    List<Boolean> isRegistered(List<String> numbers)
This commit is contained in:
John Freed 2021-08-12 09:53:38 +02:00
parent 022cb969f6
commit 33bb95e13f
2 changed files with 28 additions and 3 deletions

View file

@ -95,7 +95,9 @@ public interface Signal extends DBusInterface {
byte[] groupId, String name, List<String> members, String avatar
) throws Error.AttachmentInvalid, Error.Failure, Error.InvalidNumber, Error.GroupNotFound;
boolean isRegistered();
boolean isRegistered(String number);
List<Boolean> isRegistered(List<String> numbers);
void updateProfile(
String name, String about, String aboutEmoji, String avatarPath, boolean removeAvatar

View file

@ -512,8 +512,31 @@ public class DbusSignalImpl implements Signal {
}
@Override
public boolean isRegistered() {
return true;
public boolean isRegistered(String number) {
try {
Map<String, Boolean> registered;
List<String> numbers = new ArrayList<String>();
numbers.add(number);
registered = m.areUsersRegistered(new HashSet<String>(numbers));
return registered.get(number);
} catch (IOException e) {
throw new Error.Failure(e.getMessage());
}
}
@Override
public List<Boolean> isRegistered(List<String> numbers) {
try {
Map<String, Boolean> registered;
List<Boolean> results = new ArrayList<Boolean> ();
registered = m.areUsersRegistered(new HashSet<String>(numbers));
for (String number : numbers) {
results.add(registered.get(number));
}
return results;
} catch (IOException e) {
throw new Error.Failure(e.getMessage());
}
}
@Override