mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Make contact share "bubble/card" reflect share contents.
This commit is contained in:
parent
3cdce13b44
commit
f436fc19c2
|
@ -48,7 +48,7 @@
|
||||||
34330A5C1E787A9800DF2FB9 /* dripicons-v2.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 34330A5B1E787A9800DF2FB9 /* dripicons-v2.ttf */; };
|
34330A5C1E787A9800DF2FB9 /* dripicons-v2.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 34330A5B1E787A9800DF2FB9 /* dripicons-v2.ttf */; };
|
||||||
34330A5E1E787BD800DF2FB9 /* ElegantIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 34330A5D1E787BD800DF2FB9 /* ElegantIcons.ttf */; };
|
34330A5E1E787BD800DF2FB9 /* ElegantIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 34330A5D1E787BD800DF2FB9 /* ElegantIcons.ttf */; };
|
||||||
34330AA31E79686200DF2FB9 /* OWSProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 34330AA21E79686200DF2FB9 /* OWSProgressView.m */; };
|
34330AA31E79686200DF2FB9 /* OWSProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 34330AA21E79686200DF2FB9 /* OWSProgressView.m */; };
|
||||||
34382266209A4E400094FEB7 /* ApproveContactShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34382265209A4E3F0094FEB7 /* ApproveContactShareViewController.swift */; };
|
34382266209A4E400094FEB7 /* ContactShareApprovalViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34382265209A4E3F0094FEB7 /* ContactShareApprovalViewController.swift */; };
|
||||||
3438226A209B63500094FEB7 /* EditContactShareNameViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34382269209B63500094FEB7 /* EditContactShareNameViewController.swift */; };
|
3438226A209B63500094FEB7 /* EditContactShareNameViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34382269209B63500094FEB7 /* EditContactShareNameViewController.swift */; };
|
||||||
34386A51207D0C01009F5D9C /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34386A4D207D0C01009F5D9C /* HomeViewController.m */; };
|
34386A51207D0C01009F5D9C /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34386A4D207D0C01009F5D9C /* HomeViewController.m */; };
|
||||||
34386A52207D0C01009F5D9C /* HomeViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 34386A50207D0C01009F5D9C /* HomeViewCell.m */; };
|
34386A52207D0C01009F5D9C /* HomeViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 34386A50207D0C01009F5D9C /* HomeViewCell.m */; };
|
||||||
|
@ -638,7 +638,7 @@
|
||||||
34330A5D1E787BD800DF2FB9 /* ElegantIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = ElegantIcons.ttf; sourceTree = "<group>"; };
|
34330A5D1E787BD800DF2FB9 /* ElegantIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = ElegantIcons.ttf; sourceTree = "<group>"; };
|
||||||
34330AA11E79686200DF2FB9 /* OWSProgressView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSProgressView.h; sourceTree = "<group>"; };
|
34330AA11E79686200DF2FB9 /* OWSProgressView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSProgressView.h; sourceTree = "<group>"; };
|
||||||
34330AA21E79686200DF2FB9 /* OWSProgressView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSProgressView.m; sourceTree = "<group>"; };
|
34330AA21E79686200DF2FB9 /* OWSProgressView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSProgressView.m; sourceTree = "<group>"; };
|
||||||
34382265209A4E3F0094FEB7 /* ApproveContactShareViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ApproveContactShareViewController.swift; path = SignalMessaging/attachments/ApproveContactShareViewController.swift; sourceTree = SOURCE_ROOT; };
|
34382265209A4E3F0094FEB7 /* ContactShareApprovalViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ContactShareApprovalViewController.swift; path = SignalMessaging/attachments/ContactShareApprovalViewController.swift; sourceTree = SOURCE_ROOT; };
|
||||||
34382269209B63500094FEB7 /* EditContactShareNameViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EditContactShareNameViewController.swift; path = SignalMessaging/attachments/EditContactShareNameViewController.swift; sourceTree = SOURCE_ROOT; };
|
34382269209B63500094FEB7 /* EditContactShareNameViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EditContactShareNameViewController.swift; path = SignalMessaging/attachments/EditContactShareNameViewController.swift; sourceTree = SOURCE_ROOT; };
|
||||||
34386A4D207D0C01009F5D9C /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
|
34386A4D207D0C01009F5D9C /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
|
||||||
34386A4E207D0C01009F5D9C /* HomeViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewCell.h; sourceTree = "<group>"; };
|
34386A4E207D0C01009F5D9C /* HomeViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewCell.h; sourceTree = "<group>"; };
|
||||||
|
@ -1614,9 +1614,9 @@
|
||||||
346129DB1FD5C02900532771 /* viewControllers */ = {
|
346129DB1FD5C02900532771 /* viewControllers */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
34382265209A4E3F0094FEB7 /* ApproveContactShareViewController.swift */,
|
|
||||||
344F2498200FD03200CFB4F4 /* AttachmentApprovalViewController.swift */,
|
344F2498200FD03200CFB4F4 /* AttachmentApprovalViewController.swift */,
|
||||||
348BB253209CD4B80047AEC2 /* ContactFieldView.swift */,
|
348BB253209CD4B80047AEC2 /* ContactFieldView.swift */,
|
||||||
|
34382265209A4E3F0094FEB7 /* ContactShareApprovalViewController.swift */,
|
||||||
344F248220069E9B00CFB4F4 /* CountryCodeViewController.h */,
|
344F248220069E9B00CFB4F4 /* CountryCodeViewController.h */,
|
||||||
344F248320069E9B00CFB4F4 /* CountryCodeViewController.m */,
|
344F248320069E9B00CFB4F4 /* CountryCodeViewController.m */,
|
||||||
34382269209B63500094FEB7 /* EditContactShareNameViewController.swift */,
|
34382269209B63500094FEB7 /* EditContactShareNameViewController.swift */,
|
||||||
|
@ -3136,7 +3136,7 @@
|
||||||
451F8A3F1FD71455005CB9DA /* OWSTableViewController.m in Sources */,
|
451F8A3F1FD71455005CB9DA /* OWSTableViewController.m in Sources */,
|
||||||
451F8A351FD710DE005CB9DA /* Searcher.swift in Sources */,
|
451F8A351FD710DE005CB9DA /* Searcher.swift in Sources */,
|
||||||
451F8A481FD715BA005CB9DA /* OWSContactAvatarBuilder.m in Sources */,
|
451F8A481FD715BA005CB9DA /* OWSContactAvatarBuilder.m in Sources */,
|
||||||
34382266209A4E400094FEB7 /* ApproveContactShareViewController.swift in Sources */,
|
34382266209A4E400094FEB7 /* ContactShareApprovalViewController.swift in Sources */,
|
||||||
4503F1C3204711D300CEE724 /* OWS107LegacySounds.m in Sources */,
|
4503F1C3204711D300CEE724 /* OWS107LegacySounds.m in Sources */,
|
||||||
3438226A209B63500094FEB7 /* EditContactShareNameViewController.swift in Sources */,
|
3438226A209B63500094FEB7 /* EditContactShareNameViewController.swift in Sources */,
|
||||||
346129A61FD1F09100532771 /* OWSContactsManager.m in Sources */,
|
346129A61FD1F09100532771 /* OWSContactsManager.m in Sources */,
|
||||||
|
|
|
@ -188,8 +188,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
[contentView autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:self.vMargin];
|
[contentView autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:self.vMargin];
|
||||||
|
|
||||||
AvatarImageView *avatarView = [AvatarImageView new];
|
AvatarImageView *avatarView = [AvatarImageView new];
|
||||||
avatarView.image =
|
avatarView.image = [self.contactShare getAvatarImageWithDiameter:self.iconSize
|
||||||
[self.contactShare getAvatarImageWithDiameter:self.iconSize contactsManager:self.contactsManager];
|
contactsManager:self.contactsManager
|
||||||
|
ignoreContactAndProfile:YES];
|
||||||
|
|
||||||
[avatarView autoSetDimension:ALDimensionWidth toSize:self.iconSize];
|
[avatarView autoSetDimension:ALDimensionWidth toSize:self.iconSize];
|
||||||
[avatarView autoSetDimension:ALDimensionHeight toSize:self.iconSize];
|
[avatarView autoSetDimension:ALDimensionHeight toSize:self.iconSize];
|
||||||
|
|
|
@ -118,7 +118,7 @@ typedef enum : NSUInteger {
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
|
|
||||||
@interface ConversationViewController () <AttachmentApprovalViewControllerDelegate,
|
@interface ConversationViewController () <AttachmentApprovalViewControllerDelegate,
|
||||||
ApproveContactShareViewControllerDelegate,
|
ContactShareApprovalViewControllerDelegate,
|
||||||
AVAudioPlayerDelegate,
|
AVAudioPlayerDelegate,
|
||||||
CNContactViewControllerDelegate,
|
CNContactViewControllerDelegate,
|
||||||
ContactEditingDelegate,
|
ContactEditingDelegate,
|
||||||
|
@ -3005,7 +3005,7 @@ typedef enum : NSUInteger {
|
||||||
|
|
||||||
BOOL didAddToProfileWhitelist = [ThreadUtil addThreadToProfileWhitelistIfEmptyContactThread:self.thread];
|
BOOL didAddToProfileWhitelist = [ThreadUtil addThreadToProfileWhitelistIfEmptyContactThread:self.thread];
|
||||||
|
|
||||||
[self.editingDatabaseConnection asyncReadWriteWithBlock:^(YapDatabaseReadWriteTransaction *_Nonnull transaction) {
|
[self.editingDatabaseConnection asyncReadWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
|
||||||
if (contactShare.avatarImage) {
|
if (contactShare.avatarImage) {
|
||||||
[contactShare.dbRecord saveAvatarImage:contactShare.avatarImage transaction:transaction];
|
[contactShare.dbRecord saveAvatarImage:contactShare.avatarImage transaction:transaction];
|
||||||
}
|
}
|
||||||
|
@ -5030,8 +5030,8 @@ interactionControllerForAnimationController:(id<UIViewControllerAnimatedTransiti
|
||||||
[[ContactShareViewModel alloc] initWithContactShareRecord:contactShareRecord avatarImageData:avatarImageData];
|
[[ContactShareViewModel alloc] initWithContactShareRecord:contactShareRecord avatarImageData:avatarImageData];
|
||||||
|
|
||||||
// TODO: We should probably show this in the same navigation view controller.
|
// TODO: We should probably show this in the same navigation view controller.
|
||||||
ApproveContactShareViewController *approveContactShare =
|
ContactShareApprovalViewController *approveContactShare =
|
||||||
[[ApproveContactShareViewController alloc] initWithContactShare:contactShare
|
[[ContactShareApprovalViewController alloc] initWithContactShare:contactShare
|
||||||
contactsManager:self.contactsManager
|
contactsManager:self.contactsManager
|
||||||
delegate:self];
|
delegate:self];
|
||||||
OWSAssert(contactsPicker.navigationController);
|
OWSAssert(contactsPicker.navigationController);
|
||||||
|
@ -5050,9 +5050,9 @@ interactionControllerForAnimationController:(id<UIViewControllerAnimatedTransiti
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - ApproveContactShareViewControllerDelegate
|
#pragma mark - ContactShareApprovalViewControllerDelegate
|
||||||
|
|
||||||
- (void)approveContactShare:(ApproveContactShareViewController *)approveContactShare
|
- (void)approveContactShare:(ContactShareApprovalViewController *)approveContactShare
|
||||||
didApproveContactShare:(ContactShareViewModel *)contactShare
|
didApproveContactShare:(ContactShareViewModel *)contactShare
|
||||||
{
|
{
|
||||||
DDLogInfo(@"%@ in %s", self.logTag, __PRETTY_FUNCTION__);
|
DDLogInfo(@"%@ in %s", self.logTag, __PRETTY_FUNCTION__);
|
||||||
|
@ -5063,7 +5063,7 @@ interactionControllerForAnimationController:(id<UIViewControllerAnimatedTransiti
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)approveContactShare:(ApproveContactShareViewController *)approveContactShare
|
- (void)approveContactShare:(ContactShareApprovalViewController *)approveContactShare
|
||||||
didCancelContactShare:(ContactShareViewModel *)contactShare
|
didCancelContactShare:(ContactShareViewModel *)contactShare
|
||||||
{
|
{
|
||||||
DDLogInfo(@"%@ in %s", self.logTag, __PRETTY_FUNCTION__);
|
DDLogInfo(@"%@ in %s", self.logTag, __PRETTY_FUNCTION__);
|
||||||
|
|
|
@ -90,6 +90,7 @@ class ContactCell: UITableViewCell {
|
||||||
let avatarBuilder = OWSContactAvatarBuilder(nonSignalName: contact.fullName,
|
let avatarBuilder = OWSContactAvatarBuilder(nonSignalName: contact.fullName,
|
||||||
colorSeed: contactIdForDeterminingBackgroundColor,
|
colorSeed: contactIdForDeterminingBackgroundColor,
|
||||||
diameter: ContactCell.kAvatarDiameter,
|
diameter: ContactCell.kAvatarDiameter,
|
||||||
|
ignoreContactAndProfile: false,
|
||||||
contactsManager: contactsManager)
|
contactsManager: contactsManager)
|
||||||
|
|
||||||
contactImageView.image = avatarBuilder.buildDefaultImage()
|
contactImageView.image = avatarBuilder.buildDefaultImage()
|
||||||
|
@ -135,7 +136,7 @@ fileprivate extension CNContact {
|
||||||
|
|
||||||
if let attributedName = CNContactFormatter.attributedString(from: self, style: .fullName, defaultAttributes: nil) {
|
if let attributedName = CNContactFormatter.attributedString(from: self, style: .fullName, defaultAttributes: nil) {
|
||||||
let highlightedName = attributedName.mutableCopy() as! NSMutableAttributedString
|
let highlightedName = attributedName.mutableCopy() as! NSMutableAttributedString
|
||||||
highlightedName.enumerateAttributes(in: NSMakeRange(0, highlightedName.length), options: [], using: { (attrs, range, _) in
|
highlightedName.enumerateAttributes(in: NSRange(location: 0, length: highlightedName.length), options: [], using: { (attrs, range, _) in
|
||||||
if let property = attrs[CNContactPropertyAttribute] as? String, property == keyToHighlight {
|
if let property = attrs[CNContactPropertyAttribute] as? String, property == keyToHighlight {
|
||||||
highlightedName.addAttributes(boldAttributes, range: range)
|
highlightedName.addAttributes(boldAttributes, range: range)
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class ContactShareViewModel: NSObject {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public func getAvatarImage(diameter: CGFloat, contactsManager: OWSContactsManager) -> UIImage {
|
public func getAvatarImage(diameter: CGFloat, contactsManager: OWSContactsManager, ignoreContactAndProfile: Bool = false) -> UIImage {
|
||||||
if let avatarImage = avatarImage {
|
if let avatarImage = avatarImage {
|
||||||
return avatarImage
|
return avatarImage
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,7 @@ public class ContactShareViewModel: NSObject {
|
||||||
let avatarBuilder = OWSContactAvatarBuilder(nonSignalName: displayName,
|
let avatarBuilder = OWSContactAvatarBuilder(nonSignalName: displayName,
|
||||||
colorSeed: colorSeed,
|
colorSeed: colorSeed,
|
||||||
diameter: UInt(diameter),
|
diameter: UInt(diameter),
|
||||||
|
ignoreContactAndProfile: ignoreContactAndProfile,
|
||||||
contactsManager: contactsManager)
|
contactsManager: contactsManager)
|
||||||
return avatarBuilder.build()
|
return avatarBuilder.build()
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,10 +6,10 @@ import Foundation
|
||||||
import SignalServiceKit
|
import SignalServiceKit
|
||||||
|
|
||||||
@objc
|
@objc
|
||||||
public protocol ApproveContactShareViewControllerDelegate: class {
|
public protocol ContactShareApprovalViewControllerDelegate: class {
|
||||||
func approveContactShare(_ approveContactShare: ApproveContactShareViewController,
|
func approveContactShare(_ approveContactShare: ContactShareApprovalViewController,
|
||||||
didApproveContactShare contactShare: ContactShareViewModel)
|
didApproveContactShare contactShare: ContactShareViewModel)
|
||||||
func approveContactShare(_ approveContactShare: ApproveContactShareViewController,
|
func approveContactShare(_ approveContactShare: ContactShareApprovalViewController,
|
||||||
didCancelContactShare contactShare: ContactShareViewModel)
|
didCancelContactShare contactShare: ContactShareViewModel)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,9 +214,9 @@ class ContactShareFieldView: UIStackView {
|
||||||
|
|
||||||
// TODO: Rename to ContactShareApprovalViewController
|
// TODO: Rename to ContactShareApprovalViewController
|
||||||
@objc
|
@objc
|
||||||
public class ApproveContactShareViewController: OWSViewController, EditContactShareNameViewControllerDelegate, ContactShareFieldViewDelegate {
|
public class ContactShareApprovalViewController: OWSViewController, EditContactShareNameViewControllerDelegate, ContactShareFieldViewDelegate {
|
||||||
|
|
||||||
weak var delegate: ApproveContactShareViewControllerDelegate?
|
weak var delegate: ContactShareApprovalViewControllerDelegate?
|
||||||
|
|
||||||
let contactsManager: OWSContactsManager
|
let contactsManager: OWSContactsManager
|
||||||
|
|
||||||
|
@ -234,7 +234,7 @@ public class ApproveContactShareViewController: OWSViewController, EditContactSh
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc
|
@objc
|
||||||
required public init(contactShare: ContactShareViewModel, contactsManager: OWSContactsManager, delegate: ApproveContactShareViewControllerDelegate) {
|
required public init(contactShare: ContactShareViewModel, contactsManager: OWSContactsManager, delegate: ContactShareApprovalViewControllerDelegate) {
|
||||||
self.contactsManager = contactsManager
|
self.contactsManager = contactsManager
|
||||||
self.contactShare = contactShare
|
self.contactShare = contactShare
|
||||||
self.delegate = delegate
|
self.delegate = delegate
|
||||||
|
@ -463,6 +463,7 @@ public class ApproveContactShareViewController: OWSViewController, EditContactSh
|
||||||
}
|
}
|
||||||
|
|
||||||
let filteredContactShare = self.filteredContactShare()
|
let filteredContactShare = self.filteredContactShare()
|
||||||
|
|
||||||
assert(filteredContactShare.ows_isValid)
|
assert(filteredContactShare.ows_isValid)
|
||||||
|
|
||||||
delegate.approveContactShare(self, didApproveContactShare: filteredContactShare)
|
delegate.approveContactShare(self, didApproveContactShare: filteredContactShare)
|
|
@ -24,7 +24,7 @@ typedef void (^SendMessageBlock)(SendCompletionBlock completion);
|
||||||
@interface SharingThreadPickerViewController () <SelectThreadViewControllerDelegate,
|
@interface SharingThreadPickerViewController () <SelectThreadViewControllerDelegate,
|
||||||
AttachmentApprovalViewControllerDelegate,
|
AttachmentApprovalViewControllerDelegate,
|
||||||
MessageApprovalViewControllerDelegate,
|
MessageApprovalViewControllerDelegate,
|
||||||
ApproveContactShareViewControllerDelegate>
|
ContactShareApprovalViewControllerDelegate>
|
||||||
|
|
||||||
@property (nonatomic, readonly) OWSContactsManager *contactsManager;
|
@property (nonatomic, readonly) OWSContactsManager *contactsManager;
|
||||||
@property (nonatomic, readonly) OWSMessageSender *messageSender;
|
@property (nonatomic, readonly) OWSMessageSender *messageSender;
|
||||||
|
@ -175,8 +175,8 @@ typedef void (^SendMessageBlock)(SendCompletionBlock completion);
|
||||||
[[ContactShareViewModel alloc] initWithContactShareRecord:contactShareRecord
|
[[ContactShareViewModel alloc] initWithContactShareRecord:contactShareRecord
|
||||||
avatarImageData:avatarImageData];
|
avatarImageData:avatarImageData];
|
||||||
|
|
||||||
ApproveContactShareViewController *approvalVC =
|
ContactShareApprovalViewController *approvalVC =
|
||||||
[[ApproveContactShareViewController alloc] initWithContactShare:contactShare
|
[[ContactShareApprovalViewController alloc] initWithContactShare:contactShare
|
||||||
contactsManager:self.contactsManager
|
contactsManager:self.contactsManager
|
||||||
delegate:self];
|
delegate:self];
|
||||||
[self.navigationController pushViewController:approvalVC animated:YES];
|
[self.navigationController pushViewController:approvalVC animated:YES];
|
||||||
|
@ -289,9 +289,9 @@ typedef void (^SendMessageBlock)(SendCompletionBlock completion);
|
||||||
[self cancelShareExperience];
|
[self cancelShareExperience];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - ApproveContactShareViewControllerDelegate
|
#pragma mark - ContactShareApprovalViewControllerDelegate
|
||||||
|
|
||||||
- (void)approveContactShare:(ApproveContactShareViewController *)approvalViewController
|
- (void)approveContactShare:(ContactShareApprovalViewController *)approvalViewController
|
||||||
didApproveContactShare:(ContactShareViewModel *)contactShare
|
didApproveContactShare:(ContactShareViewModel *)contactShare
|
||||||
{
|
{
|
||||||
DDLogInfo(@"%@ in %s", self.logTag, __PRETTY_FUNCTION__);
|
DDLogInfo(@"%@ in %s", self.logTag, __PRETTY_FUNCTION__);
|
||||||
|
@ -321,7 +321,7 @@ typedef void (^SendMessageBlock)(SendCompletionBlock completion);
|
||||||
fromViewController:approvalViewController];
|
fromViewController:approvalViewController];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)approveContactShare:(ApproveContactShareViewController *)approvalViewController
|
- (void)approveContactShare:(ContactShareApprovalViewController *)approvalViewController
|
||||||
didCancelContactShare:(ContactShareViewModel *)contactShare
|
didCancelContactShare:(ContactShareViewModel *)contactShare
|
||||||
{
|
{
|
||||||
DDLogInfo(@"%@ in %s", self.logTag, __PRETTY_FUNCTION__);
|
DDLogInfo(@"%@ in %s", self.logTag, __PRETTY_FUNCTION__);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
//
|
//
|
||||||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
#import "OWSAvatarBuilder.h"
|
#import "OWSAvatarBuilder.h"
|
||||||
|
@ -24,9 +24,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
- (instancetype)initWithNonSignalName:(NSString *)nonSignalName
|
- (instancetype)initWithNonSignalName:(NSString *)nonSignalName
|
||||||
colorSeed:(NSString *)colorSeed
|
colorSeed:(NSString *)colorSeed
|
||||||
diameter:(NSUInteger)diameter
|
diameter:(NSUInteger)diameter
|
||||||
|
ignoreContactAndProfile:(BOOL)ignoreContactAndProfile
|
||||||
contactsManager:(OWSContactsManager *)contactsManager;
|
contactsManager:(OWSContactsManager *)contactsManager;
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
//
|
//
|
||||||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
#import "OWSContactAvatarBuilder.h"
|
#import "OWSContactAvatarBuilder.h"
|
||||||
|
@ -10,6 +10,7 @@
|
||||||
#import "UIColor+OWS.h"
|
#import "UIColor+OWS.h"
|
||||||
#import "UIFont+OWS.h"
|
#import "UIFont+OWS.h"
|
||||||
#import <SignalMessaging/SignalMessaging-Swift.h>
|
#import <SignalMessaging/SignalMessaging-Swift.h>
|
||||||
|
|
||||||
// SHARINGEXTENSION FIXME
|
// SHARINGEXTENSION FIXME
|
||||||
// intern or reimplement this so that SignalMessaging doesn't depend on JSQ
|
// intern or reimplement this so that SignalMessaging doesn't depend on JSQ
|
||||||
#import <JSQMessagesViewController/JSQMessagesAvatarImageFactory.h>
|
#import <JSQMessagesViewController/JSQMessagesAvatarImageFactory.h>
|
||||||
|
@ -22,6 +23,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
@property (nonatomic, readonly) NSString *signalId;
|
@property (nonatomic, readonly) NSString *signalId;
|
||||||
@property (nonatomic, readonly) NSString *contactName;
|
@property (nonatomic, readonly) NSString *contactName;
|
||||||
@property (nonatomic, readonly) NSUInteger diameter;
|
@property (nonatomic, readonly) NSUInteger diameter;
|
||||||
|
@property (nonatomic, readonly) BOOL ignoreContactAndProfile;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@ -32,6 +34,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
- (instancetype)initWithContactId:(NSString *)contactId
|
- (instancetype)initWithContactId:(NSString *)contactId
|
||||||
name:(NSString *)name
|
name:(NSString *)name
|
||||||
diameter:(NSUInteger)diameter
|
diameter:(NSUInteger)diameter
|
||||||
|
ignoreContactAndProfile:(BOOL)ignoreContactAndProfile
|
||||||
contactsManager:(OWSContactsManager *)contactsManager
|
contactsManager:(OWSContactsManager *)contactsManager
|
||||||
{
|
{
|
||||||
self = [super init];
|
self = [super init];
|
||||||
|
@ -42,6 +45,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
_signalId = contactId;
|
_signalId = contactId;
|
||||||
_contactName = name;
|
_contactName = name;
|
||||||
_diameter = diameter;
|
_diameter = diameter;
|
||||||
|
_ignoreContactAndProfile = ignoreContactAndProfile;
|
||||||
_contactsManager = contactsManager;
|
_contactsManager = contactsManager;
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
|
@ -59,21 +63,33 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
if (name.length == 0) {
|
if (name.length == 0) {
|
||||||
name = signalId;
|
name = signalId;
|
||||||
}
|
}
|
||||||
return [self initWithContactId:signalId name:name diameter:diameter contactsManager:contactsManager];
|
return [self initWithContactId:signalId
|
||||||
|
name:name
|
||||||
|
diameter:diameter
|
||||||
|
ignoreContactAndProfile:NO
|
||||||
|
contactsManager:contactsManager];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (instancetype)initWithNonSignalName:(NSString *)nonSignalName
|
- (instancetype)initWithNonSignalName:(NSString *)nonSignalName
|
||||||
colorSeed:(NSString *)colorSeed
|
colorSeed:(NSString *)colorSeed
|
||||||
diameter:(NSUInteger)diameter
|
diameter:(NSUInteger)diameter
|
||||||
|
ignoreContactAndProfile:(BOOL)ignoreContactAndProfile
|
||||||
contactsManager:(OWSContactsManager *)contactsManager
|
contactsManager:(OWSContactsManager *)contactsManager
|
||||||
{
|
{
|
||||||
return [self initWithContactId:colorSeed name:nonSignalName diameter:diameter contactsManager:contactsManager];
|
return [self initWithContactId:colorSeed
|
||||||
|
name:nonSignalName
|
||||||
|
diameter:diameter
|
||||||
|
ignoreContactAndProfile:ignoreContactAndProfile
|
||||||
|
contactsManager:contactsManager];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - Instance methods
|
#pragma mark - Instance methods
|
||||||
|
|
||||||
- (nullable UIImage *)buildSavedImage
|
- (nullable UIImage *)buildSavedImage
|
||||||
{
|
{
|
||||||
|
if (self.ignoreContactAndProfile) {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
return [self.contactsManager imageForPhoneIdentifier:self.signalId];
|
return [self.contactsManager imageForPhoneIdentifier:self.signalId];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue