Add SignalAccount class.

// FREEBIE
pull/1/head
Matthew Chen 8 years ago
parent cd9e1fb574
commit 5058eb837e

@ -29,6 +29,7 @@ typedef NS_ENUM(NSUInteger, OWSPhoneNumberType) {
@class PhoneNumber;
@class UIImage;
@class SignalRecipient;
@class YapDatabaseReadTransaction;
@interface Contact : NSObject
@ -48,7 +49,7 @@ typedef NS_ENUM(NSUInteger, OWSPhoneNumberType) {
#endif // TARGET_OS_IOS
- (BOOL)isSignalContact;
- (NSArray<SignalRecipient *> *)signalRecipients;
- (NSArray<SignalRecipient *> *)signalRecipientsWithTransaction:(YapDatabaseReadTransaction *)transaction;
// TODO: Remove this method.
- (NSArray<NSString *> *)textSecureIdentifiers;

@ -202,19 +202,18 @@ NS_ASSUME_NONNULL_BEGIN
return [identifiers count] > 0;
}
- (NSArray<SignalRecipient *> *)signalRecipients
- (NSArray<SignalRecipient *> *)signalRecipientsWithTransaction:(YapDatabaseReadTransaction *)transaction
{
__block NSMutableArray *result = [NSMutableArray array];
[[TSStorageManager sharedManager].dbConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
for (PhoneNumber *number in [self.parsedPhoneNumbers sortedArrayUsingSelector:@selector(compare:)]) {
SignalRecipient *signalRecipient =
[SignalRecipient recipientWithTextSecureIdentifier:number.toE164 withTransaction:transaction];
if (signalRecipient) {
[result addObject:signalRecipient];
}
for (PhoneNumber *number in [self.parsedPhoneNumbers sortedArrayUsingSelector:@selector(compare:)]) {
SignalRecipient *signalRecipient =
[SignalRecipient recipientWithTextSecureIdentifier:number.toE164 withTransaction:transaction];
if (signalRecipient) {
[result addObject:signalRecipient];
}
}];
}
return [result copy];
}

@ -27,6 +27,10 @@ NS_ASSUME_NONNULL_BEGIN
// This property indicates support for both WebRTC audio and video calls.
- (BOOL)supportsWebRTC;
- (NSString *)recipientId;
- (NSComparisonResult)compare:(SignalRecipient *)other;
@end
NS_ASSUME_NONNULL_END

@ -83,6 +83,16 @@ NS_ASSUME_NONNULL_BEGIN
return YES;
}
- (NSString *)recipientId
{
return self.uniqueId;
}
- (NSComparisonResult)compare:(SignalRecipient *)other
{
return [self.recipientId compare:other.recipientId];
}
@end
NS_ASSUME_NONNULL_END

Loading…
Cancel
Save