sync all verification states with contact sync

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

@ -19,21 +19,18 @@ NS_ASSUME_NONNULL_BEGIN
{
OWSAssert(signalAccount);
OWSAssert(signalAccount.contact);
OWSAssert(recipientIdentity);
OWSSignalServiceProtosContactDetailsBuilder *contactBuilder = [OWSSignalServiceProtosContactDetailsBuilder new];
[contactBuilder setName:signalAccount.contact.fullName];
[contactBuilder setNumber:signalAccount.recipientId];
// Don't sync default or no-longer-verified state in contact sync.
if (recipientIdentity.verificationState == OWSVerificationStateVerified) {
OWSSignalServiceProtosVerifiedBuilder *verifiedBuilder = [OWSSignalServiceProtosVerifiedBuilder new];
verifiedBuilder.state = OWSSignalServiceProtosVerifiedStateVerified;
verifiedBuilder.destination = recipientIdentity.recipientId;
verifiedBuilder.identityKey = recipientIdentity.identityKey;
// TODO do we need to set null message here?
contactBuilder.verified = [verifiedBuilder build];
}
OWSSignalServiceProtosVerifiedBuilder *verifiedBuilder = [OWSSignalServiceProtosVerifiedBuilder new];
verifiedBuilder.destination = recipientIdentity.recipientId;
verifiedBuilder.identityKey = recipientIdentity.identityKey;
verifiedBuilder.state = OWSVerificationStateToProtoState(recipientIdentity.verificationState);
contactBuilder.verified = [verifiedBuilder build];
NSData *avatarPng;
if (signalAccount.contact.image) {
OWSSignalServiceProtosContactDetailsAvatarBuilder *avatarBuilder =

@ -105,17 +105,8 @@ NS_ASSUME_NONNULL_BEGIN
verifiedBuilder.destination = self.verificationForRecipientId;
verifiedBuilder.identityKey = self.identityKey;
verifiedBuilder.state = ^{
switch (self.verificationState) {
case OWSVerificationStateDefault:
return OWSSignalServiceProtosVerifiedStateDefault;
case OWSVerificationStateVerified:
return OWSSignalServiceProtosVerifiedStateVerified;
case OWSVerificationStateNoLongerVerified:
return OWSSignalServiceProtosVerifiedStateUnverified;
}
}();
verifiedBuilder.state = OWSVerificationStateToProtoState(self.verificationState);
OWSAssert(self.paddingBytesLength != 0);
verifiedBuilder.nullMessage = [Cryptography generateRandomBytes:self.paddingBytesLength];

@ -2,7 +2,8 @@
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
//
#import <SignalServiceKit/TSYapDatabaseObject.h>
#import "OWSSignalServiceProtos.pb.h"
#import "TSYapDatabaseObject.h"
NS_ASSUME_NONNULL_BEGIN
@ -13,6 +14,7 @@ typedef NS_ENUM(NSUInteger, OWSVerificationState) {
};
NSString *OWSVerificationStateToString(OWSVerificationState verificationState);
OWSSignalServiceProtosVerifiedState OWSVerificationStateToProtoState(OWSVerificationState verificationState);
@interface OWSRecipientIdentity : TSYapDatabaseObject

@ -20,6 +20,18 @@ NSString *OWSVerificationStateToString(OWSVerificationState verificationState)
}
}
OWSSignalServiceProtosVerifiedState OWSVerificationStateToProtoState(OWSVerificationState verificationState)
{
switch (verificationState) {
case OWSVerificationStateDefault:
return OWSSignalServiceProtosVerifiedStateDefault;
case OWSVerificationStateVerified:
return OWSSignalServiceProtosVerifiedStateVerified;
case OWSVerificationStateNoLongerVerified:
return OWSSignalServiceProtosVerifiedStateUnverified;
}
}
@interface OWSRecipientIdentity ()
@property (atomic) OWSVerificationState verificationState;

Loading…
Cancel
Save