From 781b141bc7cbae847f1214047bfd9a4b110f7d50 Mon Sep 17 00:00:00 2001 From: Jeff Boek Date: Wed, 4 Dec 2019 15:00:14 -0800 Subject: [PATCH] For #6849 - Properly select a new default search engine when you delete the current one Co-authored-by: Severin Rudie --- .../components/searchengine/FenixSearchEngineProvider.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/components/searchengine/FenixSearchEngineProvider.kt b/app/src/main/java/org/mozilla/fenix/components/searchengine/FenixSearchEngineProvider.kt index 2e5235d94..a155e5c50 100644 --- a/app/src/main/java/org/mozilla/fenix/components/searchengine/FenixSearchEngineProvider.kt +++ b/app/src/main/java/org/mozilla/fenix/components/searchengine/FenixSearchEngineProvider.kt @@ -18,6 +18,7 @@ import mozilla.components.browser.search.provider.SearchEngineProvider import mozilla.components.browser.search.provider.filter.SearchEngineFilter import mozilla.components.browser.search.provider.localization.LocaleSearchLocalizationProvider import org.mozilla.fenix.ext.settings +import java.util.Locale @SuppressWarnings("TooManyFunctions") class FenixSearchEngineProvider( @@ -49,7 +50,7 @@ class FenixSearchEngineProvider( val engines = installedSearchEngines(context) val selectedName = context.settings().defaultSearchEngineName - return engines.list.find { it.name == selectedName } ?: engines.list.first() + return engines.list.find { it.name == selectedName } ?: engines.default ?: engines.list.first() } fun installedSearchEngines(context: Context): SearchEngineList = runBlocking { @@ -59,7 +60,7 @@ class FenixSearchEngineProvider( engineList.copy( list = engineList.list.filter { installedIdentifiers.contains(it.identifier) - }, + }.sortedBy { it.name.toLowerCase(Locale.getDefault()) }, default = engineList.default?.let { if (installedIdentifiers.contains(it.identifier)) { it