rename for clarity

pull/1/head
Michael Kirk 7 years ago
parent b4908e71e9
commit 6e50a5353b

@ -25,7 +25,7 @@ class ConversationSearchViewController: UITableViewController, BlockListCacheDel
} }
} }
var searchResultSet: SearchResultSet = SearchResultSet.empty { var searchResultSet: HomeScreenSearchResultSet = HomeScreenSearchResultSet.empty {
didSet { didSet {
AssertIsOnMainThread() AssertIsOnMainThread()
@ -392,15 +392,15 @@ class ConversationSearchViewController: UITableViewController, BlockListCacheDel
private func updateSearchResults(searchText: String) { private func updateSearchResults(searchText: String) {
guard searchText.stripped.count > 0 else { guard searchText.stripped.count > 0 else {
self.searchResultSet = SearchResultSet.empty self.searchResultSet = HomeScreenSearchResultSet.empty
self.tableView.reloadData() self.tableView.reloadData()
return return
} }
var searchResults: SearchResultSet? var searchResults: HomeScreenSearchResultSet?
self.uiDatabaseConnection.asyncRead({[weak self] transaction in self.uiDatabaseConnection.asyncRead({[weak self] transaction in
guard let strongSelf = self else { return } guard let strongSelf = self else { return }
searchResults = strongSelf.searcher.results(searchText: searchText, transaction: transaction, contactsManager: strongSelf.contactsManager) searchResults = strongSelf.searcher.searchForHomeScreen(searchText: searchText, transaction: transaction, contactsManager: strongSelf.contactsManager)
}, },
completionBlock: { [weak self] in completionBlock: { [weak self] in
AssertIsOnMainThread() AssertIsOnMainThread()

@ -898,6 +898,9 @@ NS_ASSUME_NONNULL_BEGIN
- (void)searchTextDidChange - (void)searchTextDidChange
{ {
NSString *searchText = self.searchText; NSString *searchText = self.searchText;
__weak __typeof(self) weakSelf = self;
[self.uiDatabaseConnection [self.uiDatabaseConnection
asyncReadWithBlock:^(YapDatabaseReadTransaction *_Nonnull transaction) { asyncReadWithBlock:^(YapDatabaseReadTransaction *_Nonnull transaction) {
self.searchResults = [self.conversationSearcher searchForComposeScreenWithSearchText:searchText self.searchResults = [self.conversationSearcher searchForComposeScreenWithSearchText:searchText
@ -905,8 +908,13 @@ NS_ASSUME_NONNULL_BEGIN
contactsManager:self.contactsManager]; contactsManager:self.contactsManager];
} }
completionBlock:^{ completionBlock:^{
[self updateSearchPhoneNumbers]; __typeof(self) strongSelf = weakSelf;
[self updateTableContents]; if (!strongSelf) {
return;
}
[strongSelf updateSearchPhoneNumbers];
[strongSelf updateTableContents];
[BenchManager completeEventWithEventId:@"Compose Search"]; [BenchManager completeEventWithEventId:@"Compose Search"];
}]; }];
} }

@ -1,5 +1,5 @@
// //
// Copyright (c) 2018 Open Whisper Systems. All rights reserved. // Copyright (c) 2019 Open Whisper Systems. All rights reserved.
// //
import XCTest import XCTest
@ -230,7 +230,7 @@ class ConversationSearcherTest: SignalBaseTest {
} }
func testSearchMessageByBodyContent() { func testSearchMessageByBodyContent() {
var resultSet: SearchResultSet = .empty var resultSet: HomeScreenSearchResultSet = .empty
resultSet = getResultSet(searchText: "Hello Alice") resultSet = getResultSet(searchText: "Hello Alice")
XCTAssertEqual(1, resultSet.messages.count) XCTAssertEqual(1, resultSet.messages.count)
@ -243,7 +243,7 @@ class ConversationSearcherTest: SignalBaseTest {
} }
func testSearchEdgeCases() { func testSearchEdgeCases() {
var resultSet: SearchResultSet = .empty var resultSet: HomeScreenSearchResultSet = .empty
resultSet = getResultSet(searchText: "Hello Alice") resultSet = getResultSet(searchText: "Hello Alice")
XCTAssertEqual(1, resultSet.messages.count) XCTAssertEqual(1, resultSet.messages.count)
@ -329,10 +329,10 @@ class ConversationSearcherTest: SignalBaseTest {
return results.conversations.map { $0.thread } return results.conversations.map { $0.thread }
} }
private func getResultSet(searchText: String) -> SearchResultSet { private func getResultSet(searchText: String) -> HomeScreenSearchResultSet {
var results: SearchResultSet! var results: HomeScreenSearchResultSet!
self.dbConnection.read { transaction in self.dbConnection.read { transaction in
results = self.searcher.results(searchText: searchText, transaction: transaction, contactsManager: SSKEnvironment.shared.contactsManager) results = self.searcher.searchForHomeScreen(searchText: searchText, transaction: transaction, contactsManager: SSKEnvironment.shared.contactsManager)
} }
return results return results
} }

@ -78,8 +78,7 @@ public class ContactSearchResult: NSObject, Comparable {
} }
} }
@objc public class HomeScreenSearchResultSet: NSObject {
public class SearchResultSet: NSObject {
public let searchText: String public let searchText: String
public let conversations: [ConversationSearchResult<ConversationSortKey>] public let conversations: [ConversationSearchResult<ConversationSortKey>]
public let contacts: [ContactSearchResult] public let contacts: [ContactSearchResult]
@ -92,8 +91,8 @@ public class SearchResultSet: NSObject {
self.messages = messages self.messages = messages
} }
public class var empty: SearchResultSet { public class var empty: HomeScreenSearchResultSet {
return SearchResultSet(searchText: "", conversations: [], contacts: [], messages: []) return HomeScreenSearchResultSet(searchText: "", conversations: [], contacts: [], messages: [])
} }
public var isEmpty: Bool { public var isEmpty: Bool {
@ -223,10 +222,9 @@ public class ConversationSearcher: NSObject {
return ComposeScreenSearchResultSet(searchText: searchText, groups: groups, signalContacts: signalContacts) return ComposeScreenSearchResultSet(searchText: searchText, groups: groups, signalContacts: signalContacts)
} }
@objc public func searchForHomeScreen(searchText: String,
public func results(searchText: String, transaction: YapDatabaseReadTransaction,
transaction: YapDatabaseReadTransaction, contactsManager: ContactsManagerProtocol) -> HomeScreenSearchResultSet {
contactsManager: ContactsManagerProtocol) -> SearchResultSet {
var conversations: [ConversationSearchResult<ConversationSortKey>] = [] var conversations: [ConversationSearchResult<ConversationSortKey>] = []
var contacts: [ContactSearchResult] = [] var contacts: [ContactSearchResult] = []
@ -278,7 +276,7 @@ public class ConversationSearcher: NSObject {
// Order "other" contact results by display name. // Order "other" contact results by display name.
otherContacts.sort() otherContacts.sort()
return SearchResultSet(searchText: searchText, conversations: conversations, contacts: otherContacts, messages: messages) return HomeScreenSearchResultSet(searchText: searchText, conversations: conversations, contacts: otherContacts, messages: messages)
} }
@objc(filterThreads:withSearchText:) @objc(filterThreads:withSearchText:)

Loading…
Cancel
Save