Improve profile fetching for large groups.

This commit is contained in:
Cody Henthorne
2022-02-09 16:01:56 -05:00
committed by GitHub
parent bb1e6ffae0
commit 14db5ce349
5 changed files with 94 additions and 61 deletions

View File

@@ -152,10 +152,13 @@ public class TextSecureIdentityKeyStore implements IdentityKeyStore {
public @NonNull Optional<IdentityRecord> getIdentityRecord(@NonNull RecipientId recipientId) {
Recipient recipient = Recipient.resolved(recipientId);
return getIdentityRecord(recipient);
}
public @NonNull Optional<IdentityRecord> getIdentityRecord(@NonNull Recipient recipient) {
if (recipient.hasServiceIdentifier()) {
IdentityStoreRecord record = cache.get(recipient.requireServiceId());
return Optional.fromNullable(record).transform(r -> r.toIdentityRecord(recipientId));
return Optional.fromNullable(record).transform(r -> r.toIdentityRecord(recipient.getId()));
} else {
Log.w(TAG, "[getIdentityRecord] No serviceId for " + recipient.getId());
return Optional.absent();