From 4cf03be236ce6ab9070159b4634ae29e691152cb Mon Sep 17 00:00:00 2001 From: Christian Sadilek Date: Fri, 30 Aug 2019 14:26:38 -0400 Subject: [PATCH] For #2088: Use new async API to load default search engine in HomeFragment --- app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt | 7 +++++-- .../main/java/org/mozilla/fenix/search/SearchFragment.kt | 6 +++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index e0e522bcf..073d6453e 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -82,6 +82,7 @@ import org.mozilla.fenix.onboarding.FenixOnboarding import org.mozilla.fenix.settings.SupportUtils import org.mozilla.fenix.share.ShareTab import org.mozilla.fenix.utils.FragmentPreDrawManager +import org.mozilla.fenix.utils.Settings import org.mozilla.fenix.utils.allowUndo @SuppressWarnings("TooManyFunctions", "LargeClass") @@ -206,8 +207,10 @@ class HomeFragment : Fragment(), AccountObserver { viewLifecycleOwner.lifecycleScope.launch(Dispatchers.IO) { val iconSize = resources.getDimension(R.dimen.preference_icon_drawable_size).toInt() - val searchEngine = - requireComponents.search.searchEngineManager.getDefaultSearchEngine(requireContext()) + val searchEngine = requireComponents.search.searchEngineManager.getDefaultSearchEngineAsync( + requireContext(), + Settings.getInstance(requireContext()).defaultSearchEngineName + ) val searchIcon = BitmapDrawable(resources, searchEngine.icon) searchIcon.setBounds(0, 0, iconSize, iconSize) diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt index 990431f05..fab7241ea 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -208,7 +208,11 @@ class SearchFragment : Fragment(), BackHandler { // The user has the option to go to 'Shortcuts' -> 'Search engine settings' to modify the default search engine. // When returning from that settings screen we need to update it to account for any changes. val currentDefaultEngine = - requireComponents.search.searchEngineManager.getDefaultSearchEngine(requireContext()) + requireComponents.search.searchEngineManager.getDefaultSearchEngine( + requireContext(), + Settings.getInstance(requireContext()).defaultSearchEngineName + ) + if (searchStore.state.defaultEngineSource.searchEngine != currentDefaultEngine) { searchStore.dispatch( SearchAction.SelectNewDefaultSearchEngine