From 19a2d9df4f5e2aebe95d01af0858e37991afa877 Mon Sep 17 00:00:00 2001 From: Sawyer Blatz Date: Thu, 3 Oct 2019 13:03:38 -0700 Subject: [PATCH] For #1620: Hide search results when they match URL --- .../fenix/search/awesomebar/AwesomeBarView.kt | 48 +++++++++++-------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt index 72813dc11..56a9b1a37 100644 --- a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt +++ b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt @@ -166,31 +166,39 @@ class AwesomeBarView( fun update(state: SearchFragmentState) { view.removeAllProviders() + // Do not make suggestions based on user's current URL + if (state.query == state.session?.url) { + return + } + + // Only show the shortcutEnginePicker by itself if (state.showSearchShortcuts) { view.addProviders(shortcutsEnginePickerProvider) - } else { - if (state.showSearchSuggestions) { - view.addProviders( - when (state.searchEngineSource) { - is SearchEngineSource.Default -> defaultSearchSuggestionProvider - is SearchEngineSource.Shortcut -> createSuggestionProviderForEngine( - state.searchEngineSource.searchEngine - ) - } - ) - } + view.onInputChanged(state.query) + return + } - if (state.showHistorySuggestions) { - view.addProviders(historyStorageProvider) - } + if (state.showSearchSuggestions) { + view.addProviders( + when (state.searchEngineSource) { + is SearchEngineSource.Default -> defaultSearchSuggestionProvider + is SearchEngineSource.Shortcut -> createSuggestionProviderForEngine( + state.searchEngineSource.searchEngine + ) + } + ) + } + + if (state.showHistorySuggestions) { + view.addProviders(historyStorageProvider) + } - if (state.showBookmarkSuggestions) { - view.addProviders(bookmarksStorageSuggestionProvider) - } + if (state.showBookmarkSuggestions) { + view.addProviders(bookmarksStorageSuggestionProvider) + } - if ((container.context.asActivity() as? HomeActivity)?.browsingModeManager?.mode?.isPrivate == false) { - view.addProviders(sessionProvider) - } + if ((container.context.asActivity() as? HomeActivity)?.browsingModeManager?.mode?.isPrivate == false) { + view.addProviders(sessionProvider) } view.onInputChanged(state.query)