Respond to CR.

This commit is contained in:
Matthew Chen 2018-05-16 17:24:10 -04:00
parent c800ae381b
commit db1c8fd9f3
6 changed files with 14 additions and 26 deletions

View file

@ -237,7 +237,7 @@ class ContactViewController: OWSViewController, ContactShareViewHelperDelegate {
let avatarSize: CGFloat = 100
let avatarView = AvatarImageView()
avatarView.image = contactShare.getAvatarImage(diameter: avatarSize, contactsManager: contactsManager, ignoreContactAndProfile: true)
avatarView.image = contactShare.getAvatarImage(diameter: avatarSize, contactsManager: contactsManager)
topView.addSubview(avatarView)
avatarView.autoPinEdge(toSuperviewEdge: .top, withInset: 20)
avatarView.autoHCenterInSuperview()

View file

@ -188,9 +188,8 @@ NS_ASSUME_NONNULL_BEGIN
[contentView autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:self.vMargin];
AvatarImageView *avatarView = [AvatarImageView new];
avatarView.image = [self.contactShare getAvatarImageWithDiameter:self.iconSize
contactsManager:self.contactsManager
ignoreContactAndProfile:YES];
avatarView.image =
[self.contactShare getAvatarImageWithDiameter:self.iconSize contactsManager:self.contactsManager];
[avatarView autoSetDimension:ALDimensionWidth toSize:self.iconSize];
[avatarView autoSetDimension:ALDimensionHeight toSize:self.iconSize];

View file

@ -90,7 +90,6 @@ class ContactCell: UITableViewCell {
let avatarBuilder = OWSContactAvatarBuilder(nonSignalName: contact.fullName,
colorSeed: contactIdForDeterminingBackgroundColor,
diameter: ContactCell.kAvatarDiameter,
ignoreContactAndProfile: false,
contactsManager: contactsManager)
contactImageView.image = avatarBuilder.buildDefaultImage()

View file

@ -42,7 +42,7 @@ public class ContactShareViewModel: NSObject {
}
}
public func getAvatarImage(diameter: CGFloat, contactsManager: OWSContactsManager, ignoreContactAndProfile: Bool = false) -> UIImage {
public func getAvatarImage(diameter: CGFloat, contactsManager: OWSContactsManager) -> UIImage {
if let avatarImage = avatarImage {
return avatarImage
}
@ -59,9 +59,14 @@ public class ContactShareViewModel: NSObject {
let avatarBuilder = OWSContactAvatarBuilder(nonSignalName: displayName,
colorSeed: colorSeed,
diameter: UInt(diameter),
ignoreContactAndProfile: ignoreContactAndProfile,
contactsManager: contactsManager)
return avatarBuilder.build()
// Note: we use buildDefaultImage() and not build() so that contact
// share views always reflect the contents of the contact share.
// build() might return an avatar from a corresponding system
// contact or profile. This could mislead the user into thinking
// that an avatar they did not share was in fact included in the
// contact share.
return avatarBuilder.buildDefaultImage()
}
// MARK: Delegated -> dbRecord

View file

@ -24,9 +24,9 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithNonSignalName:(NSString *)nonSignalName
colorSeed:(NSString *)colorSeed
diameter:(NSUInteger)diameter
ignoreContactAndProfile:(BOOL)ignoreContactAndProfile
contactsManager:(OWSContactsManager *)contactsManager;
@end
NS_ASSUME_NONNULL_END

View file

@ -23,7 +23,6 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, readonly) NSString *signalId;
@property (nonatomic, readonly) NSString *contactName;
@property (nonatomic, readonly) NSUInteger diameter;
@property (nonatomic, readonly) BOOL ignoreContactAndProfile;
@end
@ -34,7 +33,6 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithContactId:(NSString *)contactId
name:(NSString *)name
diameter:(NSUInteger)diameter
ignoreContactAndProfile:(BOOL)ignoreContactAndProfile
contactsManager:(OWSContactsManager *)contactsManager
{
self = [super init];
@ -45,7 +43,6 @@ NS_ASSUME_NONNULL_BEGIN
_signalId = contactId;
_contactName = name;
_diameter = diameter;
_ignoreContactAndProfile = ignoreContactAndProfile;
_contactsManager = contactsManager;
return self;
@ -63,33 +60,21 @@ NS_ASSUME_NONNULL_BEGIN
if (name.length == 0) {
name = signalId;
}
return [self initWithContactId:signalId
name:name
diameter:diameter
ignoreContactAndProfile:NO
contactsManager:contactsManager];
return [self initWithContactId:signalId name:name diameter:diameter contactsManager:contactsManager];
}
- (instancetype)initWithNonSignalName:(NSString *)nonSignalName
colorSeed:(NSString *)colorSeed
diameter:(NSUInteger)diameter
ignoreContactAndProfile:(BOOL)ignoreContactAndProfile
contactsManager:(OWSContactsManager *)contactsManager
{
return [self initWithContactId:colorSeed
name:nonSignalName
diameter:diameter
ignoreContactAndProfile:ignoreContactAndProfile
contactsManager:contactsManager];
return [self initWithContactId:colorSeed name:nonSignalName diameter:diameter contactsManager:contactsManager];
}
#pragma mark - Instance methods
- (nullable UIImage *)buildSavedImage
{
if (self.ignoreContactAndProfile) {
return nil;
}
return [self.contactsManager imageForPhoneIdentifier:self.signalId];
}