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

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

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

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

@ -66,11 +66,21 @@ NS_ASSUME_NONNULL_BEGIN
colorSeed:(NSString *)colorSeed colorSeed:(NSString *)colorSeed
diameter:(NSUInteger)diameter diameter:(NSUInteger)diameter
{ {
NSString *colorName = [TSThread stableConversationColorNameForString:colorSeed]; NSString *colorName = [TSThread stableConversationColorNameForString:colorSeed];
return [self initWithContactId:colorSeed name:nonSignalName colorName:(NSString *)colorName diameter:diameter]; 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 #pragma mark - Dependencies
+ (OWSContactsManager *)contactsManager + (OWSContactsManager *)contactsManager

Loading…
Cancel
Save