mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Merge branch 'charlesmchen/contactsSync'
This commit is contained in:
commit
4032f40a3f
20 changed files with 16 additions and 150 deletions
|
@ -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
|
||||
|
|
|
@ -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 = "<group>"; };
|
||||
34D5CCAF1EAE7E7F005515DB /* SelectRecipientViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelectRecipientViewController.h; sourceTree = "<group>"; };
|
||||
34D5CCB01EAE7E7F005515DB /* SelectRecipientViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SelectRecipientViewController.m; sourceTree = "<group>"; };
|
||||
34D5CCB21EAEA225005515DB /* SignalAccount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SignalAccount.h; sourceTree = "<group>"; };
|
||||
34D5CCB31EAEA225005515DB /* SignalAccount.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SignalAccount.m; sourceTree = "<group>"; };
|
||||
34DFCB831E8E04B400053165 /* AddToBlockListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddToBlockListViewController.h; sourceTree = "<group>"; };
|
||||
34DFCB841E8E04B500053165 /* AddToBlockListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AddToBlockListViewController.m; sourceTree = "<group>"; };
|
||||
34FD936E1E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OWSAnyTouchGestureRecognizer.h; path = views/OWSAnyTouchGestureRecognizer.h; sourceTree = "<group>"; };
|
||||
|
@ -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 */,
|
||||
|
|
|
@ -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 <SignalServiceKit/OWSSignalService.h>
|
||||
#import <SignalServiceKit/OWSTurnServerInfoRequest.h>
|
||||
#import <SignalServiceKit/PhoneNumber.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/SignalRecipient.h>
|
||||
#import <SignalServiceKit/TSAccountManager.h>
|
||||
#import <SignalServiceKit/TSAttachment.h>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#import "BlockListUIUtils.h"
|
||||
#import "ContactsViewHelper.h"
|
||||
#import "OWSContactsManager.h"
|
||||
#import "SignalAccount.h"
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#import "BlockListUIUtils.h"
|
||||
#import "ContactsViewHelper.h"
|
||||
#import "OWSContactsManager.h"
|
||||
#import "SignalAccount.h"
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
#import "BlockListUIUtils.h"
|
||||
#import "OWSContactsManager.h"
|
||||
#import "PhoneNumber.h"
|
||||
#import "SignalAccount.h"
|
||||
#import <SignalServiceKit/Contact.h>
|
||||
#import <SignalServiceKit/OWSBlockingManager.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/TSAccountManager.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
#import "ContactsViewHelper.h"
|
||||
#import "ContactTableViewCell.h"
|
||||
#import "Environment.h"
|
||||
#import "SignalAccount.h"
|
||||
#import <SignalServiceKit/Contact.h>
|
||||
#import <SignalServiceKit/OWSBlockingManager.h>
|
||||
#import <SignalServiceKit/PhoneNumber.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/TSAccountManager.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
|
|
@ -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 <MessageUI/MessageUI.h>
|
||||
#import <SignalServiceKit/PhoneNumberUtil.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/TSAccountManager.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
|
|
@ -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 <SignalServiceKit/NSDate+millisecondTimeStamp.h>
|
||||
#import <SignalServiceKit/OWSMessageSender.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/TSGroupModel.h>
|
||||
#import <SignalServiceKit/TSGroupThread.h>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#import "BlockListUIUtils.h"
|
||||
#import "ContactsViewHelper.h"
|
||||
#import "OWSContactsManager.h"
|
||||
#import "SignalAccount.h"
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
|
|
@ -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 <SignalServiceKit/ContactsUpdater.h>
|
||||
#import <SignalServiceKit/OWSBlockingManager.h>
|
||||
#import <SignalServiceKit/PhoneNumberUtil.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/TSAccountManager.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
|
|
@ -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 <SignalServiceKit/PhoneNumber.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/TSAccountManager.h>
|
||||
#import <SignalServiceKit/TSContactThread.h>
|
||||
#import <SignalServiceKit/TSThread.h>
|
||||
|
|
|
@ -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 <AddressBookUI/AddressBookUI.h>
|
||||
#import <SignalServiceKit/OWSBlockingManager.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/TSGroupModel.h>
|
||||
#import <SignalServiceKit/TSGroupThread.h>
|
||||
|
||||
|
|
|
@ -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
|
|
@ -1,51 +0,0 @@
|
|||
//
|
||||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import "SignalAccount.h"
|
||||
#import <SignalServiceKit/SignalRecipient.h>
|
||||
#import <SignalServiceKit/TSStorageManager.h>
|
||||
|
||||
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
|
|
@ -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 <SignalServiceKit/NSDate+millisecondTimeStamp.h>
|
||||
#import <SignalServiceKit/OWSMessageSender.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/TSGroupModel.h>
|
||||
#import <SignalServiceKit/TSGroupThread.h>
|
||||
|
||||
|
|
|
@ -42,9 +42,6 @@ extern NSString *const OWSContactsManagerSignalAccountsDidChangeNotification;
|
|||
// access if they haven't granted it.
|
||||
- (void)fetchSystemContactsIfAlreadyAuthorized;
|
||||
|
||||
// TODO: Remove this method.
|
||||
- (NSArray<Contact *> *)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
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
#import "OWSContactsManager.h"
|
||||
#import "Environment.h"
|
||||
#import "Signal-Swift.h"
|
||||
#import "SignalAccount.h"
|
||||
#import "Util.h"
|
||||
#import <SignalServiceKit/ContactsUpdater.h>
|
||||
#import <SignalServiceKit/OWSError.h>
|
||||
#import <SignalServiceKit/SignalAccount.h>
|
||||
|
||||
@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<Contact *> * _Nonnull)signalContacts {
|
||||
return [self getSignalUsersFromContactsArray:[self allContacts]];
|
||||
}
|
||||
|
||||
- (NSString *)unknownContactName
|
||||
{
|
||||
return NSLocalizedString(@"UNKNOWN_CONTACT_NAME",
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 <SignalServiceKit/SignalAccount.h>
|
||||
#import <SignalServiceKit/TSGroupThread.h>
|
||||
#import <SignalServiceKit/TSThread.h>
|
||||
|
||||
|
|
Loading…
Reference in a new issue