don't sync verified state when we have never recorded the recipients

identity

e.g. every contact you have which is a signal user whom you've never
messaged will not have a recorded RecipientIdentity

// FREEBIE
pull/1/head
Michael Kirk 8 years ago
parent badaa54327
commit d927cba5ce

@ -12,7 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface OWSContactsOutputStream : OWSChunkedOutputStream
- (void)writeSignalAccount:(SignalAccount *)signalAccount
recipientIdentity:(OWSRecipientIdentity *)recipientIdentity;
recipientIdentity:(nullable OWSRecipientIdentity *)recipientIdentity;
@end

@ -15,21 +15,22 @@ NS_ASSUME_NONNULL_BEGIN
@implementation OWSContactsOutputStream
- (void)writeSignalAccount:(SignalAccount *)signalAccount
recipientIdentity:(OWSRecipientIdentity *)recipientIdentity
recipientIdentity:(nullable OWSRecipientIdentity *)recipientIdentity
{
OWSAssert(signalAccount);
OWSAssert(signalAccount.contact);
OWSAssert(recipientIdentity);
OWSSignalServiceProtosContactDetailsBuilder *contactBuilder = [OWSSignalServiceProtosContactDetailsBuilder new];
[contactBuilder setName:signalAccount.contact.fullName];
[contactBuilder setNumber:signalAccount.recipientId];
OWSSignalServiceProtosVerifiedBuilder *verifiedBuilder = [OWSSignalServiceProtosVerifiedBuilder new];
verifiedBuilder.destination = recipientIdentity.recipientId;
verifiedBuilder.identityKey = recipientIdentity.identityKey;
verifiedBuilder.state = OWSVerificationStateToProtoState(recipientIdentity.verificationState);
contactBuilder.verified = [verifiedBuilder build];
if (recipientIdentity != nil) {
OWSSignalServiceProtosVerifiedBuilder *verifiedBuilder = [OWSSignalServiceProtosVerifiedBuilder new];
verifiedBuilder.destination = recipientIdentity.recipientId;
verifiedBuilder.identityKey = recipientIdentity.identityKey;
verifiedBuilder.state = OWSVerificationStateToProtoState(recipientIdentity.verificationState);
contactBuilder.verifiedBuilder = verifiedBuilder;
}
NSData *avatarPng;
if (signalAccount.contact.image) {

Loading…
Cancel
Save