From 1f31015d54abd91cca304d541ddf10dc45a7887d Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Mon, 27 Jun 2016 20:26:47 -0700 Subject: [PATCH] find phone number regardless of punctuation used in search. e.g. 3235551234, 323-555-1234, 1-323-555-1234, etc. are all the same as +13235551234. // FREEBIE --- .../src/view controllers/MessageComposeTableViewController.m | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Signal/src/view controllers/MessageComposeTableViewController.m b/Signal/src/view controllers/MessageComposeTableViewController.m index cd04f58a8..b679304c6 100644 --- a/Signal/src/view controllers/MessageComposeTableViewController.m +++ b/Signal/src/view controllers/MessageComposeTableViewController.m @@ -265,13 +265,14 @@ - (void)filterContentForSearchText:(NSString *)searchText scope:(NSString *)scope { // search by contact name or number + NSString *formattedNumber = [PhoneNumber tryParsePhoneNumberFromUserSpecifiedText:searchText].toE164; NSPredicate *resultPredicate = [NSPredicate - predicateWithFormat:@"(fullName contains[c] %@) OR (ANY parsedPhoneNumbers.toE164 contains[c] %@)", searchText, searchText]; + predicateWithFormat:@"(fullName contains[c] %@) OR (ANY parsedPhoneNumbers.toE164 contains[c] %@)", searchText, formattedNumber]; + searchResults = [contacts filteredArrayUsingPredicate:resultPredicate]; if (!searchResults.count && _searchController.searchBar.text.length == 0) { searchResults = contacts; } - NSString *formattedNumber = [PhoneNumber tryParsePhoneNumberFromUserSpecifiedText:searchText].toE164; // text to a non-signal number if we have no results and a valid phone # if (searchResults.count == 0 && searchText.length > 8 && formattedNumber) {