Replace old "default profile avatar" icon with default avatar for local user.

pull/1/head
Matthew Chen 7 years ago
parent e4ab360716
commit 27488f078a

@ -280,17 +280,12 @@
cell.contentView.preservesSuperviewLayoutMargins = YES;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
// TODO: Replace this icon.
UIImage *_Nullable localProfileAvatarImage = [OWSProfileManager.sharedManager localProfileAvatarImage];
UIImage *avatarImage = (localProfileAvatarImage
?: [[UIImage imageNamed:@"profile_avatar_default"]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]);
?: [[[OWSContactAvatarBuilder alloc] initForLocalUserWithDiameter:kLargeAvatarSize] buildDefaultImage]);
OWSAssertDebug(avatarImage);
AvatarImageView *avatarView = [[AvatarImageView alloc] initWithImage:avatarImage];
if (!localProfileAvatarImage) {
avatarView.tintColor = Theme.middleGrayColor;
}
[cell.contentView addSubview:avatarView];
[avatarView autoVCenterInSuperview];
[avatarView autoPinLeadingToSuperviewMargin];

@ -497,17 +497,12 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations
// Settings button.
const NSUInteger kAvatarSize = 28;
// TODO: Replace this icon.
UIImage *_Nullable localProfileAvatarImage = [OWSProfileManager.sharedManager localProfileAvatarImage];
UIImage *avatarImage = (localProfileAvatarImage
?: [[UIImage imageNamed:@"profile_avatar_default"]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]);
?: [[[OWSContactAvatarBuilder alloc] initForLocalUserWithDiameter:kAvatarSize] buildDefaultImage]);
OWSAssertDebug(avatarImage);
AvatarImageView *avatarView = [[AvatarImageView alloc] initWithImage:avatarImage];
if (!localProfileAvatarImage) {
avatarView.tintColor = Theme.middleGrayColor;
}
[avatarView autoSetDimension:ALDimensionWidth toSize:kAvatarSize];
[avatarView autoSetDimension:ALDimensionHeight toSize:kAvatarSize];
UIBarButtonItem *settingsButton = [[UIBarButtonItem alloc] initWithCustomView:avatarView];

@ -165,12 +165,11 @@ NSString *const kProfileView_LastPresentedDate = @"kProfileView_LastPresentedDat
[self updateAvatarView];
[self.avatarView autoPinTrailingToSuperviewMargin];
[self.avatarView autoPinLeadingToTrailingEdgeOfView:avatarLabel offset:10.f];
const CGFloat kAvatarSizePoints = 50.f;
const CGFloat kAvatarVMargin = 4.f;
[self.avatarView autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:kAvatarVMargin];
[self.avatarView autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:kAvatarVMargin];
[self.avatarView autoSetDimension:ALDimensionWidth toSize:kAvatarSizePoints];
[self.avatarView autoSetDimension:ALDimensionHeight toSize:kAvatarSizePoints];
[self.avatarView autoSetDimension:ALDimensionWidth toSize:self.avatarSize];
[self.avatarView autoSetDimension:ALDimensionHeight toSize:self.avatarSize];
[self.cameraImageView autoPinTrailingToEdgeOfView:self.avatarView];
[self.cameraImageView autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:self.avatarView];
@ -486,12 +485,15 @@ NSString *const kProfileView_LastPresentedDate = @"kProfileView_LastPresentedDat
[self updateAvatarView];
}
- (NSUInteger)avatarSize
{
return 48;
}
- (void)updateAvatarView
{
self.avatarView.image = (self.avatar
?: [[UIImage imageNamed:@"profile_avatar_default"]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]);
self.avatarView.tintColor = (self.avatar ? nil : Theme.middleGrayColor);
?: [[[OWSContactAvatarBuilder alloc] initForLocalUserWithDiameter:self.avatarSize] buildDefaultImage]);
self.cameraImageView.hidden = self.avatar != nil;
}

@ -13,7 +13,6 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Build an avatar for a Signal recipient
*/
- (instancetype)initWithSignalId:(NSString *)signalId colorName:(NSString *)colorName diameter:(NSUInteger)diameter;
/**
@ -23,6 +22,8 @@ NS_ASSUME_NONNULL_BEGIN
colorSeed:(NSString *)colorSeed
diameter:(NSUInteger)diameter;
- (instancetype)initForLocalUserWithDiameter:(NSUInteger)diameter;
@end
NS_ASSUME_NONNULL_END

@ -66,11 +66,21 @@ NS_ASSUME_NONNULL_BEGIN
colorSeed:(NSString *)colorSeed
diameter:(NSUInteger)diameter
{
NSString *colorName = [TSThread stableConversationColorNameForString:colorSeed];
return [self initWithContactId:colorSeed name:nonSignalName colorName:(NSString *)colorName diameter:diameter];
}
- (instancetype)initForLocalUserWithDiameter:(NSUInteger)diameter
{
NSString *localNumber = [TSAccountManager localNumber];
OWSAssertDebug(localNumber.length > 0);
OWSAssertDebug(diameter > 0);
NSString *colorName = [TSThread stableConversationColorNameForString:localNumber];
return [self initWithSignalId:localNumber colorName:colorName diameter:diameter];
}
#pragma mark - Dependencies
+ (OWSContactsManager *)contactsManager

Loading…
Cancel
Save