From 6e95fd9db4e0246383080e165c2e9d32cf61fae0 Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Tue, 21 Feb 2017 11:58:53 +0100 Subject: [PATCH] optimize displayNameForContact --- Classes/Contact.m | 14 ++++++++++---- Classes/Utils/FastAddressBook.m | 1 - 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Classes/Contact.m b/Classes/Contact.m index f3d3e959e..6e99cccf0 100644 --- a/Classes/Contact.m +++ b/Classes/Contact.m @@ -33,7 +33,12 @@ if (!_friend) { _friend = linphone_friend_ref(linphone_core_create_friend(LC)); linphone_friend_set_ref_key(_friend, key); - linphone_friend_set_name(_friend, [NSString stringWithFormat:@"%@ %@", _firstName, _lastName].UTF8String); + linphone_friend_set_name( + _friend, + [NSString + stringWithFormat:@"%@%@", _firstName ? _firstName : @"", + _lastName ? [_firstName ? @" " : @"" stringByAppendingString:_lastName] : @""] + .UTF8String); for (NSString* sipAddr in _sipAddresses) { LinphoneAddress* addr = linphone_core_interpret_url(LC, sipAddr.UTF8String); if (addr) { @@ -100,9 +105,10 @@ - (NSString *)displayName { if (_friend) { - // const char *dp = linphone_address_get_display_name(linphone_friend_get_address(_friend)); - //if (dp) - // return [NSString stringWithUTF8String:dp]; + const char *friend_name = linphone_friend_get_name(_friend); + if (friend_name) { + return [NSString stringWithUTF8String:friend_name]; + } } if (_person != nil) { diff --git a/Classes/Utils/FastAddressBook.m b/Classes/Utils/FastAddressBook.m index 558e2f97f..7b7abcc70 100644 --- a/Classes/Utils/FastAddressBook.m +++ b/Classes/Utils/FastAddressBook.m @@ -305,7 +305,6 @@ void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info, void ret = [FastAddressBook displayNameForContact:contact]; } else if (friend) { ret = [NSString stringWithUTF8String:linphone_friend_get_name(friend)]; - ret = [ret stringByReplacingOccurrencesOfString:@"(null)" withString:@""]; } else { const char *lDisplayName = linphone_address_get_display_name(addr); const char *lUserName = linphone_address_get_username(addr);