Use new asset for default contact avatars.

pull/1/head
Matthew Chen 7 years ago
parent 1c1d305a71
commit 0e5f42defe

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "profile-28@1x.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "profile-28@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "profile-28@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -129,16 +129,24 @@ NS_ASSUME_NONNULL_BEGIN
initials = [[initials substringWithRange:stringRange] mutableCopy];
}
if (initials.length == 0) {
// We don't have a name for this contact, so we can't make an "initials" image
[initials appendString:@"#"];
}
UIColor *color = [UIColor ows_conversationColorOrDefaultForColorName:self.colorName].themeColor;
OWSAssertDebug(color);
UIImage *_Nullable image =
[OWSAvatarBuilder avatarImageWithInitials:initials backgroundColor:color diameter:self.diameter];
UIImage *_Nullable image;
if (initials.length == 0) {
// 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.
// Adjust its size to reflect the actual output diameter.
CGFloat scaling = self.diameter / (CGFloat)kStandardAvatarSize;
CGSize iconSize = CGSizeScale(icon.size, scaling);
image =
[OWSAvatarBuilder avatarImageWithIcon:icon iconSize:iconSize backgroundColor:color diameter:self.diameter];
} else {
image = [OWSAvatarBuilder avatarImageWithInitials:initials backgroundColor:color diameter:self.diameter];
}
if (!image) {
OWSFailDebug(@"Could not generate avatar.");
return nil;

Loading…
Cancel
Save