From 9fb3a509dc9071ee89ad610edf5a5b560df52d90 Mon Sep 17 00:00:00 2001 From: Kiryl Kaveryn Date: Mon, 26 May 2025 18:47:00 +0400 Subject: [PATCH] [ios] skip search query duplications for history Signed-off-by: Kiryl Kaveryn --- iphone/Maps/Core/Search/MWMSearch.h | 1 + iphone/Maps/UI/Search/SearchOnMap/SearchOnMapInteractor.swift | 4 +++- iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift | 2 +- iphone/Maps/UI/Search/Tabs/SearchTabViewController.swift | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/iphone/Maps/Core/Search/MWMSearch.h b/iphone/Maps/Core/Search/MWMSearch.h index 40d75784e..ca88375ec 100644 --- a/iphone/Maps/Core/Search/MWMSearch.h +++ b/iphone/Maps/Core/Search/MWMSearch.h @@ -6,6 +6,7 @@ NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSUInteger, SearchTextSource) { SearchTextSourceTypedText, SearchTextSourceCategory, + SearchTextSourceHistory, SearchTextSourceSuggestion, SearchTextSourceDeeplink }; diff --git a/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapInteractor.swift b/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapInteractor.swift index 37ee3eb7b..f84ad6231 100644 --- a/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapInteractor.swift +++ b/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapInteractor.swift @@ -81,7 +81,9 @@ final class SearchOnMapInteractor: NSObject { private func processSelectedText(_ query: SearchQuery) -> SearchOnMap.Response { isUpdatesDisabled = false - searchManager.save(query) + if query.source != .history { + searchManager.save(query) + } searchManager.searchQuery(query) showResultsOnMap = true return .selectQuery(query) diff --git a/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift b/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift index 4d8978a36..0c3e4b092 100644 --- a/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift +++ b/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift @@ -82,7 +82,7 @@ final class SearchOnMapPresenter { switch query.source { case .typedText, .suggestion: viewModel.isTyping = true - case .category, .deeplink: + case .category, .history, .deeplink: viewModel.isTyping = false viewModel.presentationStep = isRouting ? .hidden : .halfScreen @unknown default: diff --git a/iphone/Maps/UI/Search/Tabs/SearchTabViewController.swift b/iphone/Maps/UI/Search/Tabs/SearchTabViewController.swift index 6ace28cfc..5834ab9d0 100644 --- a/iphone/Maps/UI/Search/Tabs/SearchTabViewController.swift +++ b/iphone/Maps/UI/Search/Tabs/SearchTabViewController.swift @@ -78,7 +78,7 @@ extension SearchTabViewController: SearchCategoriesViewControllerDelegate { extension SearchTabViewController: SearchHistoryViewControllerDelegate { func searchHistoryViewController(_ viewController: SearchHistoryViewController, didSelect query: String) { - let query = SearchQuery(query.trimmingCharacters(in: .whitespacesAndNewlines) + " ", source: .suggestion) + let query = SearchQuery(query.trimmingCharacters(in: .whitespacesAndNewlines) + " ", source: .history) delegate?.searchTabController(self, didSearch: query) } }