From 6de645a8bbdf91c9c9be39a24a5db28be1424e97 Mon Sep 17 00:00:00 2001 From: Ryan Zhao Date: Thu, 12 May 2022 16:40:59 +1000 Subject: [PATCH] avoid unnecessary UI refresh --- Session/Conversations/ConversationSearch.swift | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Session/Conversations/ConversationSearch.swift b/Session/Conversations/ConversationSearch.swift index 7b7ed47b1..fb97e0f77 100644 --- a/Session/Conversations/ConversationSearch.swift +++ b/Session/Conversations/ConversationSearch.swift @@ -32,6 +32,8 @@ public class ConversationSearchController : NSObject { @objc public let resultsBar: SearchResultsBar = SearchResultsBar() + + private var lastSearchText: String? // MARK: Initializer @@ -88,8 +90,10 @@ extension ConversationSearchController : UISearchResultsUpdating { return } let searchText = FullTextSearchFinder.normalize(text: rawSearchText) + lastSearchText = searchText guard searchText.count >= ConversationSearchController.kMinimumSearchTextLength else { + lastSearchText = nil self.resultsBar.updateResults(resultSet: nil) self.delegate?.conversationSearchController(self, didUpdateSearchResults: nil) return @@ -102,7 +106,7 @@ extension ConversationSearchController : UISearchResultsUpdating { } resultSet = self.dbSearcher.searchWithinConversation(thread: self.thread, searchText: searchText, transaction: transaction) }, completionBlock: { [weak self] in - guard let self = self else { + guard let self = self, searchText == self.lastSearchText else { return } self.resultsBar.updateResults(resultSet: resultSet) @@ -121,7 +125,7 @@ extension ConversationSearchController : SearchResultsBarDelegate { return } - BenchEventStart(title: "Conversation Search Nav", eventId: "Conversation Search Nav: \(searchResult.messageId)") +// BenchEventStart(title: "Conversation Search Nav", eventId: "Conversation Search Nav: \(searchResult.messageId)") self.delegate?.conversationSearchController(self, didSelectMessageId: searchResult.messageId) } }