queryContact method
Implementation
Future<Contact?> queryContact(String address) async {
if (queried.containsKey(address) && queried[address] != null) {
return queried[address];
}
if (inProgress.containsKey(address) && inProgress[address] == true) {
throw ("already requested");
}
inProgress[address] = true;
final val = await _channel.invokeMethod(
"getContact",
{"address": address},
);
Contact contact = new Contact.fromJson(address, val);
final thumbnail = contact.thumbnail;
if (thumbnail != null) {
await thumbnail._readBytes();
}
final photo = contact.photo;
if (photo != null) {
await photo._readBytes();
}
queried[address] = contact;
inProgress[address] = false;
return contact;
}