diff --git a/Signal/Images.xcassets/contact-avatar.imageset/Contents.json b/Signal/Images.xcassets/contact-avatar.imageset/Contents.json index 731480b4c..8ffbcdfbb 100644 --- a/Signal/Images.xcassets/contact-avatar.imageset/Contents.json +++ b/Signal/Images.xcassets/contact-avatar.imageset/Contents.json @@ -2,17 +2,15 @@ "images" : [ { "idiom" : "universal", - "filename" : "profile-28@1x.png", + "filename" : "contact-avatar-1024.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "profile-28@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "profile-28@3x.png", "scale" : "3x" } ], diff --git a/Signal/Images.xcassets/contact-avatar.imageset/contact-avatar-1024.png b/Signal/Images.xcassets/contact-avatar.imageset/contact-avatar-1024.png new file mode 100644 index 000000000..e4c5a734a Binary files /dev/null and b/Signal/Images.xcassets/contact-avatar.imageset/contact-avatar-1024.png differ diff --git a/Signal/Images.xcassets/contact-avatar.imageset/profile-28@1x.png b/Signal/Images.xcassets/contact-avatar.imageset/profile-28@1x.png deleted file mode 100644 index 6064b87bc..000000000 Binary files a/Signal/Images.xcassets/contact-avatar.imageset/profile-28@1x.png and /dev/null differ diff --git a/Signal/Images.xcassets/contact-avatar.imageset/profile-28@2x.png b/Signal/Images.xcassets/contact-avatar.imageset/profile-28@2x.png deleted file mode 100644 index 82223704a..000000000 Binary files a/Signal/Images.xcassets/contact-avatar.imageset/profile-28@2x.png and /dev/null differ diff --git a/Signal/Images.xcassets/contact-avatar.imageset/profile-28@3x.png b/Signal/Images.xcassets/contact-avatar.imageset/profile-28@3x.png deleted file mode 100644 index 6cc4daf05..000000000 Binary files a/Signal/Images.xcassets/contact-avatar.imageset/profile-28@3x.png and /dev/null differ diff --git a/SignalMessaging/utils/OWSContactAvatarBuilder.m b/SignalMessaging/utils/OWSContactAvatarBuilder.m index 450b33adf..c5552c482 100644 --- a/SignalMessaging/utils/OWSContactAvatarBuilder.m +++ b/SignalMessaging/utils/OWSContactAvatarBuilder.m @@ -136,9 +136,10 @@ NS_ASSUME_NONNULL_BEGIN // We don't have a name for this contact, so we can't make an "initials" image. UIImage *icon = [UIImage imageNamed:@"contact-avatar"]; - // The contact-avatar asset is designed for the kStandardAvatarSize. + // The contact-avatar asset is designed to be 28pt if the avatar is kStandardAvatarSize. // Adjust its size to reflect the actual output diameter. - CGFloat scaling = self.diameter / (CGFloat)kStandardAvatarSize; + // We use an oversize 1024px version of the asset to ensure quality results for larger avatars. + CGFloat scaling = (self.diameter / (CGFloat)kStandardAvatarSize) * (28 / 1024.f); CGSize iconSize = CGSizeScale(icon.size, scaling); image = [OWSAvatarBuilder avatarImageWithIcon:icon iconSize:iconSize backgroundColor:color diameter:self.diameter];