diff --git a/Signal/src/ViewControllers/ContactViewController.swift b/Signal/src/ViewControllers/ContactViewController.swift index c8360d86b..9a393dc95 100644 --- a/Signal/src/ViewControllers/ContactViewController.swift +++ b/Signal/src/ViewControllers/ContactViewController.swift @@ -142,12 +142,6 @@ class ContactViewController: OWSViewController, ContactShareViewHelperDelegate { return contactShare.systemContactPhoneNumbers(contactsManager) } - private func phoneNumbersForContact() -> [String] { - SwiftAssertIsOnMainThread(#function) - - return contactShare.e164PhoneNumbers() - } - private func updateContent() { SwiftAssertIsOnMainThread(#function) diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSContactShareView.h b/Signal/src/ViewControllers/ConversationView/Cells/OWSContactShareView.h index 07e624e6b..3325e21a4 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSContactShareView.h +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSContactShareView.h @@ -10,9 +10,9 @@ NS_ASSUME_NONNULL_BEGIN @protocol OWSContactShareViewDelegate -- (void)sendMessageToContactShare:(ContactShareViewModel *)contactShare; -- (void)sendInviteToContactShare:(ContactShareViewModel *)contactShare; -- (void)showAddToContactUIForContactShare:(ContactShareViewModel *)contactShare; +- (void)didTapSendMessageToContactShare:(ContactShareViewModel *)contactShare; +- (void)didTapSendInviteToContactShare:(ContactShareViewModel *)contactShare; +- (void)didTapShowAddToContactUIForContactShare:(ContactShareViewModel *)contactShare; @end diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSContactShareView.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSContactShareView.m index 1c2374c20..8e0128072 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSContactShareView.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSContactShareView.m @@ -17,11 +17,11 @@ NS_ASSUME_NONNULL_BEGIN @interface OWSContactShareView () -@property (nonatomic) ContactShareViewModel *contactShare; +@property (nonatomic, readonly) ContactShareViewModel *contactShare; @property (nonatomic, weak) id delegate; -@property (nonatomic) BOOL isIncoming; -@property (nonatomic) OWSContactsManager *contactsManager; +@property (nonatomic, readonly) BOOL isIncoming; +@property (nonatomic, readonly) OWSContactsManager *contactsManager; @property (nonatomic, nullable) UIView *buttonView; @@ -38,20 +38,15 @@ NS_ASSUME_NONNULL_BEGIN self = [super init]; if (self) { - self.delegate = delegate; - self.contactShare = contactShare; - self.isIncoming = isIncoming; - self.contactsManager = [Environment current].contactsManager; + _delegate = delegate; + _contactShare = contactShare; + _isIncoming = isIncoming; + _contactsManager = [Environment current].contactsManager; } return self; } -- (OWSContactsManager *)contactsManager -{ - return [Environment current].contactsManager; -} - #pragma mark - - (CGFloat)iconHMargin @@ -223,19 +218,8 @@ NS_ASSUME_NONNULL_BEGIN [stackView addArrangedSubview:disclosureImageView]; if ([OWSContactShareView hasAnyButton:self.contactShare contactsManager:self.contactsManager]) { - UIStackView *buttonView = [UIStackView new]; - self.buttonView = buttonView; - buttonView.layoutMargins = UIEdgeInsetsZero; - [buttonView addBackgroundViewWithBackgroundColor:[UIColor whiteColor]]; - buttonView.axis = UILayoutConstraintAxisHorizontal; - buttonView.alignment = UIStackViewAlignmentCenter; - [self addSubview:buttonView]; - [buttonView autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:contentView withOffset:self.vMargin]; - [buttonView autoPinWidthToSuperview]; - [buttonView autoPinEdgeToSuperviewEdge:ALEdgeBottom]; - [buttonView autoSetDimension:ALDimensionHeight toSize:OWSContactShareView.buttonHeight]; - UILabel *label = [UILabel new]; + self.buttonView = label; if ([OWSContactShareView hasSendTextButton:self.contactShare contactsManager:self.contactsManager]) { label.text = NSLocalizedString(@"ACTION_SEND_MESSAGE", @"Label for 'sent message' button in contact view."); } else if ([OWSContactShareView hasInviteButton:self.contactShare contactsManager:self.contactsManager]) { @@ -249,10 +233,12 @@ NS_ASSUME_NONNULL_BEGIN label.font = [UIFont ows_dynamicTypeBodyFont]; label.textColor = UIColor.ows_materialBlueColor; label.textAlignment = NSTextAlignmentCenter; - [buttonView addArrangedSubview:label]; - - [buttonView logFrameLaterWithLabel:@"buttonView"]; - [label logFrameLaterWithLabel:@"label"]; + label.backgroundColor = [UIColor whiteColor]; + [self addSubview:label]; + [label autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:contentView withOffset:self.vMargin]; + [label autoPinWidthToSuperview]; + [label autoPinEdgeToSuperviewEdge:ALEdgeBottom]; + [label autoSetDimension:ALDimensionHeight toSize:OWSContactShareView.buttonHeight]; } else { [contentView autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:self.vMargin]; } @@ -269,11 +255,11 @@ NS_ASSUME_NONNULL_BEGIN } if ([OWSContactShareView hasSendTextButton:self.contactShare contactsManager:self.contactsManager]) { - [self.delegate sendMessageToContactShare:self.contactShare]; + [self.delegate didTapSendMessageToContactShare:self.contactShare]; } else if ([OWSContactShareView hasInviteButton:self.contactShare contactsManager:self.contactsManager]) { - [self.delegate sendInviteToContactShare:self.contactShare]; + [self.delegate didTapSendInviteToContactShare:self.contactShare]; } else if ([OWSContactShareView hasAddToContactsButton:self.contactShare]) { - [self.delegate showAddToContactUIForContactShare:self.contactShare]; + [self.delegate didTapShowAddToContactUIForContactShare:self.contactShare]; } else { OWSFail(@"%@ unexpected button tap.", self.logTag); } diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.h b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.h index 779dad7c3..5def0ab37 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.h +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.h @@ -44,10 +44,12 @@ typedef NS_ENUM(NSUInteger, OWSMessageGestureLocation) { - (void)didTapContactShareViewItem:(ConversationViewItem *)viewItem; -- (void)sendMessageToContactShare:(ContactShareViewModel *)contactShare NS_SWIFT_NAME(sendMessage(toContactShare:)); -- (void)sendInviteToContactShare:(ContactShareViewModel *)contactShare NS_SWIFT_NAME(sendInvite(toContactShare:)); -- (void)showAddToContactUIForContactShare:(ContactShareViewModel *)contactShare - NS_SWIFT_NAME(showAddToContactUI(forContactShare:)); +- (void)didTapSendMessageToContactShare:(ContactShareViewModel *)contactShare + NS_SWIFT_NAME(didTapSendMessage(toContactShare:)); +- (void)didTapSendInviteToContactShare:(ContactShareViewModel *)contactShare + NS_SWIFT_NAME(didTapSendInvite(toContactShare:)); +- (void)didTapShowAddToContactUIForContactShare:(ContactShareViewModel *)contactShare + NS_SWIFT_NAME(didTapShowAddToContactUI(forContactShare:)); @end diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m index 2fd59a897..471a883a7 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m @@ -1260,28 +1260,28 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - OWSContactShareViewDelegate -- (void)sendMessageToContactShare:(ContactShareViewModel *)contactShare +- (void)didTapSendMessageToContactShare:(ContactShareViewModel *)contactShare { OWSAssertIsOnMainThread(); OWSAssert(contactShare); - [self.delegate sendMessageToContactShare:contactShare]; + [self.delegate didTapSendMessageToContactShare:contactShare]; } -- (void)sendInviteToContactShare:(ContactShareViewModel *)contactShare +- (void)didTapSendInviteToContactShare:(ContactShareViewModel *)contactShare { OWSAssertIsOnMainThread(); OWSAssert(contactShare); - [self.delegate sendInviteToContactShare:contactShare]; + [self.delegate didTapSendInviteToContactShare:contactShare]; } -- (void)showAddToContactUIForContactShare:(ContactShareViewModel *)contactShare +- (void)didTapShowAddToContactUIForContactShare:(ContactShareViewModel *)contactShare { OWSAssertIsOnMainThread(); OWSAssert(contactShare); - [self.delegate showAddToContactUIForContactShare:contactShare]; + [self.delegate didTapShowAddToContactUIForContactShare:contactShare]; } @end diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m index e0f2ed110..4b963c751 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m @@ -2108,7 +2108,7 @@ typedef enum : NSUInteger { [self.navigationController pushViewController:view animated:YES]; } -- (void)sendMessageToContactShare:(ContactShareViewModel *)contactShare +- (void)didTapSendMessageToContactShare:(ContactShareViewModel *)contactShare { OWSAssertIsOnMainThread(); OWSAssert(contactShare); @@ -2120,7 +2120,7 @@ typedef enum : NSUInteger { [self.contactShareViewHelper sendMessageToContact]; } -- (void)sendInviteToContactShare:(ContactShareViewModel *)contactShare +- (void)didTapSendInviteToContactShare:(ContactShareViewModel *)contactShare { OWSAssertIsOnMainThread(); OWSAssert(contactShare); @@ -2132,7 +2132,7 @@ typedef enum : NSUInteger { [self.contactShareViewHelper inviteContact]; } -- (void)showAddToContactUIForContactShare:(ContactShareViewModel *)contactShare +- (void)didTapShowAddToContactUIForContactShare:(ContactShareViewModel *)contactShare { OWSAssertIsOnMainThread(); OWSAssert(contactShare); diff --git a/Signal/src/ViewControllers/MessageDetailViewController.swift b/Signal/src/ViewControllers/MessageDetailViewController.swift index 45ffeb76a..5cc4d95a4 100644 --- a/Signal/src/ViewControllers/MessageDetailViewController.swift +++ b/Signal/src/ViewControllers/MessageDetailViewController.swift @@ -623,7 +623,7 @@ class MessageDetailViewController: OWSViewController, MediaGalleryDataSourceDele self.navigationController?.pushViewController(contactViewController, animated: true) } - func sendMessage(toContactShare contactShare: ContactShareViewModel) { + func didTapSendMessage(toContactShare contactShare: ContactShareViewModel) { contactShareViewHelper = ContactShareViewHelper(contactShare: contactShare, contactsManager: contactsManager, fromViewController: self, @@ -631,7 +631,7 @@ class MessageDetailViewController: OWSViewController, MediaGalleryDataSourceDele contactShareViewHelper?.sendMessageToContact() } - func sendInvite(toContactShare contactShare: ContactShareViewModel) { + func didTapSendInvite(toContactShare contactShare: ContactShareViewModel) { contactShareViewHelper = ContactShareViewHelper(contactShare: contactShare, contactsManager: contactsManager, fromViewController: self, @@ -639,7 +639,7 @@ class MessageDetailViewController: OWSViewController, MediaGalleryDataSourceDele contactShareViewHelper?.inviteContact() } - func showAddToContactUI(forContactShare contactShare: ContactShareViewModel) { + func didTapShowAddToContactUI(forContactShare contactShare: ContactShareViewModel) { contactShareViewHelper = ContactShareViewHelper(contactShare: contactShare, contactsManager: contactsManager, fromViewController: self,