sync all verification states with contact sync

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

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

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

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

Loading…
Cancel
Save