From d9acaced2a3e3266eb1478727ae0ac45c6bb113d Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 6 Jun 2017 15:32:43 -0400 Subject: [PATCH] Clean up ahead of PR. // FREEBIE --- src/Messages/OWSIdentityManager.h | 8 ++++++++ src/Messages/OWSIdentityManager.m | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/Messages/OWSIdentityManager.h b/src/Messages/OWSIdentityManager.h index c1255157b..702fb013f 100644 --- a/src/Messages/OWSIdentityManager.h +++ b/src/Messages/OWSIdentityManager.h @@ -29,6 +29,7 @@ extern NSString *const kNSNotificationName_IdentityStateDidChange; - (BOOL)isCurrentIdentityTrustedForSendingWithRecipientId:(NSString *)recipientId; - (void)generateNewIdentityKey; + - (nullable NSData *)identityKeyForRecipientId:(NSString *)recipientId; - (void)setVerificationState:(OWSVerificationState)verificationState @@ -38,6 +39,13 @@ extern NSString *const kNSNotificationName_IdentityStateDidChange; - (OWSVerificationState)verificationStateForRecipientId:(NSString *)recipientId; +/** + * @param recipientId unique stable identifier for the recipient, e.g. e164 phone number + * @returns nil if the recipient does not exist, or if the recipient exists and is OWSVerificationStateVerified or + * OWSVerificationStateDefault else return the no longer verified identity + */ +- (OWSRecipientIdentity *)noLongerVerifiedIdentityForRecipientId:(NSString *)recipientId; + @end NS_ASSUME_NONNULL_END diff --git a/src/Messages/OWSIdentityManager.m b/src/Messages/OWSIdentityManager.m index 6fedaffca..c9dcd9f59 100644 --- a/src/Messages/OWSIdentityManager.m +++ b/src/Messages/OWSIdentityManager.m @@ -235,6 +235,21 @@ NSString *const kNSNotificationName_IdentityStateDidChange = @"kNSNotificationNa } } +- (OWSRecipientIdentity *)noLongerVerifiedIdentityForRecipientId:(NSString *)recipientId +{ + OWSAssert(recipientId.length > 0); + + @synchronized(self) + { + OWSRecipientIdentity *_Nullable identity = [OWSRecipientIdentity fetchObjectWithUniqueID:recipientId]; + + if (identity && identity.verificationState == OWSVerificationStateNoLongerVerified) { + return identity; + } + } + return nil; +} + - (void)fireIdentityStateChangeNotification { dispatch_async(dispatch_get_main_queue(), ^{