implement isRegistered() method for DBus

This commit is contained in:
John Freed 2021-08-10 22:22:16 +02:00
parent 8aed357994
commit da28e62974
2 changed files with 32 additions and 3 deletions

View file

@ -25,7 +25,9 @@ import org.whispersystems.signalservice.api.util.InvalidNumberException;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
@ -454,8 +456,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