forked from mirrors/linphone-iphone
Unified avatar with VoIP
This commit is contained in:
parent
ecdb22dc5d
commit
7ddfff9c32
3 changed files with 19 additions and 3 deletions
|
|
@ -23,14 +23,14 @@ import linphonesw
|
|||
extension Address {
|
||||
|
||||
func initials() -> String? {
|
||||
var initials = initials(displayName: addressBookEnhancedDisplayName())
|
||||
var initials = Address.initials(displayName: addressBookEnhancedDisplayName())
|
||||
if (initials == nil || initials!.isEmpty) {
|
||||
initials = String(username.prefix(1))
|
||||
}
|
||||
return initials
|
||||
}
|
||||
|
||||
private func initials(displayName: String?) -> String? { // Basic ImproveMe
|
||||
static func initials(displayName: String?) -> String? { // Basic ImproveMe
|
||||
let separator = displayName?.contains(" ") == true ? " " : "."
|
||||
return displayName?.components(separatedBy: separator)
|
||||
.reduce("") {
|
||||
|
|
|
|||
|
|
@ -100,4 +100,17 @@ class Avatar : UIView {
|
|||
return shared?.toImage()
|
||||
}
|
||||
|
||||
@objc static func imageForInitials(displayName:String) -> UIImage? {
|
||||
if (shared == nil) {
|
||||
shared = Avatar(color:VoipTheme.primaryTextColor, textStyle: VoipTheme.call_generated_avatar_small)
|
||||
PhoneMainView.instance().mainViewController.view.addSubview(shared!)
|
||||
PhoneMainView.instance().mainViewController.view.sendSubviewToBack(shared!)
|
||||
shared?.bounds.size = CGSize(width: size, height: size)
|
||||
}
|
||||
shared?.initialsLabel.text = Address.initials(displayName: displayName)
|
||||
shared?.initialsLabel.isHidden = false
|
||||
shared?.iconImageView.isHidden = true
|
||||
return shared?.toImage()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,9 @@
|
|||
@synchronized(LinphoneManager.instance.fastAddressBook.addressBookMap) {
|
||||
UIImage *retImage = [contact avatar];
|
||||
if (retImage == nil) {
|
||||
retImage = [UIImage imageNamed:@"avatar.png"];
|
||||
retImage = contact.friend && linphone_friend_get_addresses(contact.friend) ?
|
||||
[AvatarBridge imageForAddressWithAddress:linphone_friend_get_addresses(contact.friend)->data] :
|
||||
[AvatarBridge imageForInitialsWithDisplayName:[contact displayName]];
|
||||
}
|
||||
if (retImage.size.width != retImage.size.height) {
|
||||
retImage = [retImage squareCrop];
|
||||
|
|
@ -109,6 +111,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
return contact;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue