diff --git a/Classes/ContactDetailsView.m b/Classes/ContactDetailsView.m index a137081b6..61f49fcfa 100644 --- a/Classes/ContactDetailsView.m +++ b/Classes/ContactDetailsView.m @@ -73,9 +73,17 @@ - (void)removeContact { inhibUpdate = TRUE; - [[LinphoneManager.instance fastAddressBook] deleteContact:_contact]; - inhibUpdate = FALSE; - [PhoneMainView.instance popCurrentView]; + [[LinphoneManager.instance fastAddressBook] deleteContact:_contact]; + inhibUpdate = FALSE; + + if (IPAD) { + ContactsListView *view = VIEW(ContactsListView); + if (![view .tableController selectFirstRow]) { + [self setContact:nil]; + } + } + + [PhoneMainView.instance popCurrentView]; } - (void)saveData { diff --git a/Classes/ContactsListTableView.m b/Classes/ContactsListTableView.m index e5a3eaf4b..c1720b482 100644 --- a/Classes/ContactsListTableView.m +++ b/Classes/ContactsListTableView.m @@ -44,7 +44,7 @@ NSArray *sortedAddresses; } - (void)onAddressBookUpdate:(NSNotification *)k { - if (!_ongoing && (PhoneMainView.instance.currentView == ContactsListView.compositeViewDescription)) { + if (!_ongoing && ((PhoneMainView.instance.currentView == ContactsListView.compositeViewDescription) || (IPAD && PhoneMainView.instance.currentView == ContactDetailsView.compositeViewDescription))) { [self loadData]; } } diff --git a/Classes/Utils/FastAddressBook.m b/Classes/Utils/FastAddressBook.m index d9c610d41..132f1214c 100644 --- a/Classes/Utils/FastAddressBook.m +++ b/Classes/Utils/FastAddressBook.m @@ -357,8 +357,6 @@ if(mCNContact != nil){ [saveRequest deleteContact:mCNContact]; @try { - BOOL success = [store executeSaveRequest:saveRequest error:nil]; - NSLog(@"Success %d", success); [self removeFriend:contact ]; [LinphoneManager.instance setContactsUpdated:TRUE]; if([contact.sipAddresses count] > 0){ @@ -371,6 +369,8 @@ [_addressBookMap removeObjectForKey:([FastAddressBook normalizeSipURI:phone] ?: phone)]; } } + BOOL success = [store executeSaveRequest:saveRequest error:nil]; + NSLog(@"Success %d", success); } @catch (NSException *exception) { NSLog(@"description = %@", [exception description]); return FALSE; @@ -439,9 +439,9 @@ } NSError *saveError; @try { - NSLog(@"Success %d", [store executeSaveRequest:saveRequest error:&saveError]); [self updateFriend:contact]; [LinphoneManager.instance setContactsUpdated:TRUE]; + NSLog(@"Success %d", [store executeSaveRequest:saveRequest error:&saveError]); } @catch (NSException *exception) { NSLog(@"=====>>>>> CNContact SaveRequest failed : description = %@", [exception description]); return FALSE;