diff --git a/Signal/src/ViewControllers/AppSettings/AppSettingsViewController.m b/Signal/src/ViewControllers/AppSettings/AppSettingsViewController.m index 40d8b7631..7383bc3dd 100644 --- a/Signal/src/ViewControllers/AppSettings/AppSettingsViewController.m +++ b/Signal/src/ViewControllers/AppSettings/AppSettingsViewController.m @@ -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]; diff --git a/Signal/src/ViewControllers/HomeView/HomeViewController.m b/Signal/src/ViewControllers/HomeView/HomeViewController.m index 5b104ed6f..1356c3a99 100644 --- a/Signal/src/ViewControllers/HomeView/HomeViewController.m +++ b/Signal/src/ViewControllers/HomeView/HomeViewController.m @@ -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]; diff --git a/Signal/src/ViewControllers/ProfileViewController.m b/Signal/src/ViewControllers/ProfileViewController.m index 86f164d3d..d0630ba0a 100644 --- a/Signal/src/ViewControllers/ProfileViewController.m +++ b/Signal/src/ViewControllers/ProfileViewController.m @@ -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; } diff --git a/SignalMessaging/categories/UIColor+OWS.m b/SignalMessaging/categories/UIColor+OWS.m index a0547025e..9944a12e0 100644 --- a/SignalMessaging/categories/UIColor+OWS.m +++ b/SignalMessaging/categories/UIColor+OWS.m @@ -519,7 +519,7 @@ NS_ASSUME_NONNULL_BEGIN + (NSString *)ows_defaultConversationColorName { - NSString *conversationColorName = @"teal"; + NSString *conversationColorName = @"steel"; OWSAssert([self.ows_conversationColorNames containsObject:conversationColorName]); return conversationColorName; } diff --git a/SignalMessaging/utils/OWSContactAvatarBuilder.h b/SignalMessaging/utils/OWSContactAvatarBuilder.h index fa621f21a..bc7d05179 100644 --- a/SignalMessaging/utils/OWSContactAvatarBuilder.h +++ b/SignalMessaging/utils/OWSContactAvatarBuilder.h @@ -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 diff --git a/SignalMessaging/utils/OWSContactAvatarBuilder.m b/SignalMessaging/utils/OWSContactAvatarBuilder.m index 16d7fc8c0..d0cd2b4a8 100644 --- a/SignalMessaging/utils/OWSContactAvatarBuilder.m +++ b/SignalMessaging/utils/OWSContactAvatarBuilder.m @@ -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 = [UIColor ows_defaultConversationColorName]; + + return [self initWithSignalId:localNumber colorName:colorName diameter:diameter]; +} + #pragma mark - Dependencies + (OWSContactsManager *)contactsManager