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);
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. OWSSignalServiceProtosVerifiedBuilder *verifiedBuilder = [OWSSignalServiceProtosVerifiedBuilder new];
if (recipientIdentity.verificationState == OWSVerificationStateVerified) { verifiedBuilder.destination = recipientIdentity.recipientId;
OWSSignalServiceProtosVerifiedBuilder *verifiedBuilder = [OWSSignalServiceProtosVerifiedBuilder new]; verifiedBuilder.identityKey = recipientIdentity.identityKey;
verifiedBuilder.state = OWSSignalServiceProtosVerifiedStateVerified; verifiedBuilder.state = OWSVerificationStateToProtoState(recipientIdentity.verificationState);
verifiedBuilder.destination = recipientIdentity.recipientId; contactBuilder.verified = [verifiedBuilder build];
verifiedBuilder.identityKey = recipientIdentity.identityKey;
// TODO do we need to set null message here?
contactBuilder.verified = [verifiedBuilder build];
}
NSData *avatarPng; NSData *avatarPng;
if (signalAccount.contact.image) { if (signalAccount.contact.image) {
OWSSignalServiceProtosContactDetailsAvatarBuilder *avatarBuilder = OWSSignalServiceProtosContactDetailsAvatarBuilder *avatarBuilder =

@ -105,17 +105,8 @@ 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