1
0
Fork 0

For #2088: Use new async API to load default search engine in HomeFragment

master
Christian Sadilek 2019-08-30 14:26:38 -04:00
parent 9dd9503db9
commit 4cf03be236
2 changed files with 10 additions and 3 deletions

View File

@ -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)

View File

@ -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