forked from mirrors/linphone-iphone
[CNContact] CNContact fix sip address display and chat searchlist
This commit is contained in:
parent
ef10b65b12
commit
4e7b509954
2 changed files with 16 additions and 24 deletions
|
|
@ -236,10 +236,8 @@
|
|||
normSip = sip;
|
||||
CNInstantMessageAddress *cNSipMsgAddr;
|
||||
if ([normSip containsString:@"@"])
|
||||
cNSipMsgAddr = [[CNInstantMessageAddress alloc]
|
||||
initWithUsername:[normSip componentsSeparatedByString:@"@"][0]
|
||||
service:[normSip
|
||||
componentsSeparatedByString:@"@"][1]];
|
||||
cNSipMsgAddr = [[CNInstantMessageAddress alloc]
|
||||
initWithUsername:normSip service:[normSip componentsSeparatedByString:@"@"][1]];
|
||||
else
|
||||
cNSipMsgAddr =
|
||||
[[CNInstantMessageAddress alloc] initWithUsername:normSip
|
||||
|
|
@ -253,15 +251,14 @@
|
|||
forKey:CNContactInstantMessageAddressesKey];
|
||||
ret = TRUE;
|
||||
_sipAddresses[index] = normSip;
|
||||
//_sipAddresses[index] = [sip substringFromIndex:1];
|
||||
} else {
|
||||
normSip = sip;
|
||||
CNInstantMessageAddress *cNSipMsgAddr;
|
||||
if ([normSip containsString:@"@"])
|
||||
cNSipMsgAddr = [[CNInstantMessageAddress alloc]
|
||||
initWithUsername:[normSip componentsSeparatedByString:@"@"][0]
|
||||
service:[normSip
|
||||
componentsSeparatedByString:@"@"][1]];
|
||||
if ([[FastAddressBook normalizeSipURI:normSip] containsString:@"@"])
|
||||
cNSipMsgAddr = [[CNInstantMessageAddress alloc]
|
||||
initWithUsername:sip
|
||||
service:[[FastAddressBook normalizeSipURI:normSip]
|
||||
componentsSeparatedByString:@"@"][1]];
|
||||
else
|
||||
cNSipMsgAddr =
|
||||
[[CNInstantMessageAddress alloc] initWithUsername:normSip
|
||||
|
|
@ -281,7 +278,7 @@
|
|||
}
|
||||
|
||||
if (ret) {
|
||||
_sipAddresses[index] = [FastAddressBook normalizeSipURI:sip];
|
||||
_sipAddresses[index] = sip;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -401,7 +398,7 @@
|
|||
if ([sip hasPrefix:@" "])
|
||||
[_sipAddresses addObject:[sip substringFromIndex:1]];
|
||||
else
|
||||
[_sipAddresses addObject:[FastAddressBook normalizeSipURI:sip]];
|
||||
[_sipAddresses addObject:sip];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,17 +52,12 @@
|
|||
}
|
||||
|
||||
+ (Contact *)getContact:(NSString *)address {
|
||||
|
||||
for (id key in LinphoneManager.instance.fastAddressBook.addressBookMap) {
|
||||
Contact *contact =
|
||||
(Contact *)[LinphoneManager.instance.fastAddressBook.addressBookMap
|
||||
objectForKey:key];
|
||||
if ([contact.sipAddresses count]) {
|
||||
if ([contact.sipAddresses containsObject:address])
|
||||
return contact;
|
||||
}
|
||||
}
|
||||
return nil;
|
||||
if (LinphoneManager.instance.fastAddressBook != nil) {
|
||||
@synchronized(LinphoneManager.instance.fastAddressBook.addressBookMap) {
|
||||
return [LinphoneManager.instance.fastAddressBook.addressBookMap objectForKey:address];
|
||||
}
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
+ (Contact *)getContactWithAddress:(const LinphoneAddress *)address {
|
||||
|
|
@ -415,12 +410,12 @@ void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info, void
|
|||
@try {
|
||||
NSLog(@"Success %d",
|
||||
[store executeSaveRequest:saveRequest error:&saveError]);
|
||||
[_addressBookMap setObject:contact forKey:cNContact];
|
||||
} @catch (NSException *exception) {
|
||||
NSLog(@"=====>>>>> CNContact SaveRequest failed : description = %@",
|
||||
[exception description]);
|
||||
return FALSE;
|
||||
}
|
||||
[self reloadAllContacts];
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue