diff --git a/Podfile.lock b/Podfile.lock index 1737f1557..f7a431314 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -136,7 +136,7 @@ CHECKOUT OPTIONS: :commit: 7054e4b13ee5bcd6d524adb6dc9a726e8c466308 :git: https://github.com/WhisperSystems/JSQMessagesViewController.git SignalServiceKit: - :commit: f078f8adc246d882d78d5b287c0dccc23ec4ce61 + :commit: d82afb8bb73193eef7b68bc059ae908ef0b58336 :git: https://github.com/WhisperSystems/SignalServiceKit.git SocketRocket: :commit: 877ac7438be3ad0b45ef5ca3969574e4b97112bf diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index 76676f894..d6d669578 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -70,7 +70,6 @@ 34D5CCA61EA934A4005515DB /* NSTimer+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D5CCA51EA934A4005515DB /* NSTimer+OWS.m */; }; 34D5CCA91EAE3D30005515DB /* GroupViewHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D5CCA81EAE3D30005515DB /* GroupViewHelper.m */; }; 34D5CCB11EAE7E7F005515DB /* SelectRecipientViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D5CCB01EAE7E7F005515DB /* SelectRecipientViewController.m */; }; - 34D5CCB41EAEA225005515DB /* SignalAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D5CCB31EAEA225005515DB /* SignalAccount.m */; }; 34DFCB851E8E04B500053165 /* AddToBlockListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34DFCB841E8E04B500053165 /* AddToBlockListViewController.m */; }; 34FD93701E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 34FD936F1E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.m */; }; 450573FE1E78A06D00615BB4 /* OWS103EnableVideoCalling.m in Sources */ = {isa = PBXBuildFile; fileRef = 450573FD1E78A06D00615BB4 /* OWS103EnableVideoCalling.m */; }; @@ -465,8 +464,6 @@ 34D5CCAB1EAE7136005515DB /* OWSConversationSettingsViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSConversationSettingsViewDelegate.h; sourceTree = ""; }; 34D5CCAF1EAE7E7F005515DB /* SelectRecipientViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelectRecipientViewController.h; sourceTree = ""; }; 34D5CCB01EAE7E7F005515DB /* SelectRecipientViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SelectRecipientViewController.m; sourceTree = ""; }; - 34D5CCB21EAEA225005515DB /* SignalAccount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SignalAccount.h; sourceTree = ""; }; - 34D5CCB31EAEA225005515DB /* SignalAccount.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SignalAccount.m; sourceTree = ""; }; 34DFCB831E8E04B400053165 /* AddToBlockListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddToBlockListViewController.h; sourceTree = ""; }; 34DFCB841E8E04B500053165 /* AddToBlockListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AddToBlockListViewController.m; sourceTree = ""; }; 34FD936E1E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OWSAnyTouchGestureRecognizer.h; path = views/OWSAnyTouchGestureRecognizer.h; sourceTree = ""; }; @@ -937,8 +934,6 @@ 34B3F8691E8DF1700035BE1A /* SettingsTableViewController.m */, 34B3F86A1E8DF1700035BE1A /* ShowGroupMembersViewController.h */, 34B3F86B1E8DF1700035BE1A /* ShowGroupMembersViewController.m */, - 34D5CCB21EAEA225005515DB /* SignalAccount.h */, - 34D5CCB31EAEA225005515DB /* SignalAccount.m */, 34B3F86C1E8DF1700035BE1A /* SignalAttachment.swift */, 34B3F86D1E8DF1700035BE1A /* SignalsNavigationController.h */, 34B3F86E1E8DF1700035BE1A /* SignalsNavigationController.m */, @@ -2034,7 +2029,6 @@ 34D5CCB11EAE7E7F005515DB /* SelectRecipientViewController.m in Sources */, 34B3F88F1E8DF1710035BE1A /* RegistrationViewController.m in Sources */, 34B3F8901E8DF1710035BE1A /* SettingsTableViewController.m in Sources */, - 34D5CCB41EAEA225005515DB /* SignalAccount.m in Sources */, 34FD93701E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.m in Sources */, 343D3D9B1E9283F100165CA4 /* BlockListUIUtils.m in Sources */, 34B3F8931E8DF1710035BE1A /* SignalsNavigationController.m in Sources */, diff --git a/Signal/src/Signal-Bridging-Header.h b/Signal/src/Signal-Bridging-Header.h index f5f9cd6b3..097805169 100644 --- a/Signal/src/Signal-Bridging-Header.h +++ b/Signal/src/Signal-Bridging-Header.h @@ -23,7 +23,6 @@ #import "PrivacySettingsTableViewController.h" #import "PropertyListPreferences.h" #import "PushManager.h" -#import "SignalAccount.h" #import "TSSocketManager.h" #import "TSStorageManager+Calling.h" #import "UIColor+OWS.h" @@ -58,6 +57,7 @@ #import #import #import +#import #import #import #import diff --git a/Signal/src/ViewControllers/AddToBlockListViewController.m b/Signal/src/ViewControllers/AddToBlockListViewController.m index 18d4968cb..41c5978d6 100644 --- a/Signal/src/ViewControllers/AddToBlockListViewController.m +++ b/Signal/src/ViewControllers/AddToBlockListViewController.m @@ -6,7 +6,7 @@ #import "BlockListUIUtils.h" #import "ContactsViewHelper.h" #import "OWSContactsManager.h" -#import "SignalAccount.h" +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Signal/src/ViewControllers/AddToGroupViewController.m b/Signal/src/ViewControllers/AddToGroupViewController.m index f335efd7a..3a7fa413e 100644 --- a/Signal/src/ViewControllers/AddToGroupViewController.m +++ b/Signal/src/ViewControllers/AddToGroupViewController.m @@ -6,7 +6,7 @@ #import "BlockListUIUtils.h" #import "ContactsViewHelper.h" #import "OWSContactsManager.h" -#import "SignalAccount.h" +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Signal/src/ViewControllers/BlockListUIUtils.m b/Signal/src/ViewControllers/BlockListUIUtils.m index adf950ce6..a4a70a37b 100644 --- a/Signal/src/ViewControllers/BlockListUIUtils.m +++ b/Signal/src/ViewControllers/BlockListUIUtils.m @@ -5,9 +5,9 @@ #import "BlockListUIUtils.h" #import "OWSContactsManager.h" #import "PhoneNumber.h" -#import "SignalAccount.h" #import #import +#import #import NS_ASSUME_NONNULL_BEGIN diff --git a/Signal/src/ViewControllers/ContactsViewHelper.m b/Signal/src/ViewControllers/ContactsViewHelper.m index 70ea76f66..756b0ce17 100644 --- a/Signal/src/ViewControllers/ContactsViewHelper.m +++ b/Signal/src/ViewControllers/ContactsViewHelper.m @@ -5,10 +5,10 @@ #import "ContactsViewHelper.h" #import "ContactTableViewCell.h" #import "Environment.h" -#import "SignalAccount.h" #import #import #import +#import #import NS_ASSUME_NONNULL_BEGIN diff --git a/Signal/src/ViewControllers/MessageComposeTableViewController.m b/Signal/src/ViewControllers/MessageComposeTableViewController.m index 26082b6d4..5d558d3f6 100644 --- a/Signal/src/ViewControllers/MessageComposeTableViewController.m +++ b/Signal/src/ViewControllers/MessageComposeTableViewController.m @@ -11,12 +11,12 @@ #import "OWSContactsSearcher.h" #import "OWSTableViewController.h" #import "Signal-Swift.h" -#import "SignalAccount.h" #import "UIColor+OWS.h" #import "UIUtil.h" #import "UIView+OWS.h" #import #import +#import #import NS_ASSUME_NONNULL_BEGIN diff --git a/Signal/src/ViewControllers/NewGroupViewController.m b/Signal/src/ViewControllers/NewGroupViewController.m index 99f419563..0ad329d43 100644 --- a/Signal/src/ViewControllers/NewGroupViewController.m +++ b/Signal/src/ViewControllers/NewGroupViewController.m @@ -11,7 +11,6 @@ #import "OWSContactsManager.h" #import "OWSTableViewController.h" #import "SecurityUtils.h" -#import "SignalAccount.h" #import "SignalKeyingStorage.h" #import "TSOutgoingMessage.h" #import "UIUtil.h" @@ -19,6 +18,7 @@ #import "UIViewController+OWS.h" #import #import +#import #import #import diff --git a/Signal/src/ViewControllers/NewNonContactConversationViewController.m b/Signal/src/ViewControllers/NewNonContactConversationViewController.m index 0adc08a19..c33faff5f 100644 --- a/Signal/src/ViewControllers/NewNonContactConversationViewController.m +++ b/Signal/src/ViewControllers/NewNonContactConversationViewController.m @@ -6,7 +6,7 @@ #import "BlockListUIUtils.h" #import "ContactsViewHelper.h" #import "OWSContactsManager.h" -#import "SignalAccount.h" +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Signal/src/ViewControllers/SelectRecipientViewController.m b/Signal/src/ViewControllers/SelectRecipientViewController.m index d420e74e3..e530ff5a4 100644 --- a/Signal/src/ViewControllers/SelectRecipientViewController.m +++ b/Signal/src/ViewControllers/SelectRecipientViewController.m @@ -11,7 +11,6 @@ #import "OWSTableViewController.h" #import "PhoneNumber.h" #import "Signal-Swift.h" -#import "SignalAccount.h" #import "StringUtil.h" #import "UIFont+OWS.h" #import "UIUtil.h" @@ -20,6 +19,7 @@ #import #import #import +#import #import NS_ASSUME_NONNULL_BEGIN diff --git a/Signal/src/ViewControllers/SelectThreadViewController.m b/Signal/src/ViewControllers/SelectThreadViewController.m index 38871d609..d786bff2f 100644 --- a/Signal/src/ViewControllers/SelectThreadViewController.m +++ b/Signal/src/ViewControllers/SelectThreadViewController.m @@ -11,12 +11,12 @@ #import "OWSContactsManager.h" #import "OWSContactsSearcher.h" #import "OWSTableViewController.h" -#import "SignalAccount.h" #import "ThreadViewHelper.h" #import "UIColor+OWS.h" #import "UIFont+OWS.h" #import "UIView+OWS.h" #import +#import #import #import #import diff --git a/Signal/src/ViewControllers/ShowGroupMembersViewController.m b/Signal/src/ViewControllers/ShowGroupMembersViewController.m index a790814bd..a188c92e9 100644 --- a/Signal/src/ViewControllers/ShowGroupMembersViewController.m +++ b/Signal/src/ViewControllers/ShowGroupMembersViewController.m @@ -8,12 +8,12 @@ #import "ContactsViewHelper.h" #import "Environment.h" #import "OWSContactsManager.h" -#import "SignalAccount.h" #import "SignalsViewController.h" #import "UIUtil.h" #import "ViewControllerUtils.h" #import #import +#import #import #import diff --git a/Signal/src/ViewControllers/SignalAccount.h b/Signal/src/ViewControllers/SignalAccount.h deleted file mode 100644 index ea52d17b3..000000000 --- a/Signal/src/ViewControllers/SignalAccount.h +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright (c) 2017 Open Whisper Systems. All rights reserved. -// - -NS_ASSUME_NONNULL_BEGIN - -@class Contact; -@class SignalRecipient; -@class YapDatabaseReadTransaction; - -// This class represents a single valid Signal account. -// -// * Contacts with multiple signal accounts will correspond to -// multiple instances of SignalAccount. -// * For non-contacts, the contact property will be nil. -// -// New instances of SignalAccount for active accounts are -// created every time we do a contacts intersection (e.g. -// in response to a change to the device contacts). -@interface SignalAccount : NSObject - -// An E164 value identifying the signal account. -// -// This is the key property of this class and it -// will always be non-null. -@property (nonatomic, readonly) NSString *recipientId; - -// This property is optional and will not be set for -// non-contact account. -@property (nonatomic, nullable) Contact *contact; - -@property (nonatomic) BOOL hasMultipleAccountContact; - -// For contacts with more than one signal account, -// this is a label for the account. -@property (nonatomic) NSString *multipleAccountLabelText; - -- (instancetype)init NS_UNAVAILABLE; - -- (instancetype)initWithSignalRecipient:(SignalRecipient *)signalRecipient; - -- (instancetype)initWithRecipientId:(NSString *)recipientId; - -// In most cases this should be non-null. This should only -// be null in the case where the SignalRecipient was -// deleted before this property was accessed. -- (nullable SignalRecipient *)signalRecipientWithTransaction:(YapDatabaseReadTransaction *)transaction; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Signal/src/ViewControllers/SignalAccount.m b/Signal/src/ViewControllers/SignalAccount.m deleted file mode 100644 index 8758aec13..000000000 --- a/Signal/src/ViewControllers/SignalAccount.m +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright (c) 2017 Open Whisper Systems. All rights reserved. -// - -#import "SignalAccount.h" -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface SignalAccount () - -@property (nonatomic) NSString *recipientId; - -@end - -#pragma mark - - -@implementation SignalAccount - -- (instancetype)initWithSignalRecipient:(SignalRecipient *)signalRecipient -{ - if (self = [super init]) { - OWSAssert(signalRecipient); - - _recipientId = signalRecipient.uniqueId; - } - return self; -} - -- (instancetype)initWithRecipientId:(NSString *)recipientId -{ - if (self = [super init]) { - OWSAssert(recipientId.length > 0); - - _recipientId = recipientId; - } - return self; -} - -- (nullable SignalRecipient *)signalRecipientWithTransaction:(YapDatabaseReadTransaction *)transaction -{ - OWSAssert([NSThread isMainThread]); - OWSAssert(transaction); - - return [SignalRecipient recipientWithTextSecureIdentifier:self.recipientId withTransaction:transaction]; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/Signal/src/ViewControllers/UpdateGroupViewController.m b/Signal/src/ViewControllers/UpdateGroupViewController.m index e8df238eb..679c3d1e2 100644 --- a/Signal/src/ViewControllers/UpdateGroupViewController.m +++ b/Signal/src/ViewControllers/UpdateGroupViewController.m @@ -12,7 +12,6 @@ #import "OWSContactsManager.h" #import "OWSTableViewController.h" #import "SecurityUtils.h" -#import "SignalAccount.h" #import "SignalKeyingStorage.h" #import "TSOutgoingMessage.h" #import "UIUtil.h" @@ -21,6 +20,7 @@ #import "ViewControllerUtils.h" #import #import +#import #import #import diff --git a/Signal/src/contact/OWSContactsManager.h b/Signal/src/contact/OWSContactsManager.h index 891c3b5c6..762a6b321 100644 --- a/Signal/src/contact/OWSContactsManager.h +++ b/Signal/src/contact/OWSContactsManager.h @@ -42,9 +42,6 @@ extern NSString *const OWSContactsManagerSignalAccountsDidChangeNotification; // access if they haven't granted it. - (void)fetchSystemContactsIfAlreadyAuthorized; -// TODO: Remove this method. -- (NSArray *)signalContacts; - #pragma mark - Util - (NSString *)displayNameForPhoneIdentifier:(nullable NSString *)identifier; @@ -53,8 +50,6 @@ extern NSString *const OWSContactsManagerSignalAccountsDidChangeNotification; - (NSAttributedString *)formattedDisplayNameForSignalAccount:(SignalAccount *)signalAccount font:(UIFont *_Nonnull)font; - (NSAttributedString *)formattedFullNameForRecipientId:(NSString *)recipientId font:(UIFont *)font; -+ (NSComparator _Nonnull)contactComparator; - @end NS_ASSUME_NONNULL_END diff --git a/Signal/src/contact/OWSContactsManager.m b/Signal/src/contact/OWSContactsManager.m index 27623728c..11383e65a 100644 --- a/Signal/src/contact/OWSContactsManager.m +++ b/Signal/src/contact/OWSContactsManager.m @@ -5,10 +5,10 @@ #import "OWSContactsManager.h" #import "Environment.h" #import "Signal-Swift.h" -#import "SignalAccount.h" #import "Util.h" #import #import +#import @import Contacts; @@ -268,27 +268,6 @@ NSString *const OWSContactsManagerSignalAccountsDidChangeNotification = #pragma mark - Whisper User Management -- (NSArray *)getSignalUsersFromContactsArray:(NSArray *)contacts { - NSMutableDictionary *signalContacts = [NSMutableDictionary new]; - for (Contact *contact in contacts) { - if ([contact isSignalContact]) { - signalContacts[contact.textSecureIdentifiers.firstObject] = contact; - } - } - - return [signalContacts.allValues sortedArrayUsingComparator:[[self class] contactComparator]]; -} - -+ (NSComparator)contactComparator -{ - BOOL firstNameOrdering = ABPersonGetSortOrdering() == kABPersonCompositeNameFormatFirstNameFirst ? YES : NO; - return [Contact comparatorSortingNamesByFirstThenLast:firstNameOrdering]; -} - -- (NSArray * _Nonnull)signalContacts { - return [self getSignalUsersFromContactsArray:[self allContacts]]; -} - - (NSString *)unknownContactName { return NSLocalizedString(@"UNKNOWN_CONTACT_NAME", diff --git a/Signal/src/util/OWSContactsSyncing.m b/Signal/src/util/OWSContactsSyncing.m index b1f553325..d59279a21 100644 --- a/Signal/src/util/OWSContactsSyncing.m +++ b/Signal/src/util/OWSContactsSyncing.m @@ -119,7 +119,7 @@ NSString *const kTSStorageManagerOWSContactsSyncingLastMessageKey = - (void)sendSyncContactsMessageIfPossible { AssertIsOnMainThread(); - if (self.contactsManager.signalContacts.count == 0) { + if (self.contactsManager.signalAccounts.count == 0) { // Don't bother if the contacts manager has no contacts, // e.g. if the contacts manager hasn't finished setup. return; diff --git a/Signal/src/views/ContactTableViewCell.m b/Signal/src/views/ContactTableViewCell.m index dc80e1a75..1a3d17ca8 100644 --- a/Signal/src/views/ContactTableViewCell.m +++ b/Signal/src/views/ContactTableViewCell.m @@ -6,10 +6,10 @@ #import "Environment.h" #import "OWSContactAvatarBuilder.h" #import "OWSContactsManager.h" -#import "SignalAccount.h" #import "UIFont+OWS.h" #import "UIUtil.h" #import "UIView+OWS.h" +#import #import #import