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 a9644d3fa7..0af3e53e93 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -877,20 +877,6 @@ class HomeFragment : Fragment() { } private fun navigateToSearch() { - // Dismisses the search dialog when the home content is scrolled - val recyclerView = sessionControlView!!.view - val listener = object : RecyclerView.OnScrollListener() { - override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { - super.onScrollStateChanged(recyclerView, newState) - if (newState == RecyclerView.SCROLL_STATE_DRAGGING || newState == RecyclerView.SCROLL_STATE_SETTLING) { - findNavController().navigateUp() - recyclerView.removeOnScrollListener(this) - } - } - } - - recyclerView.addOnScrollListener(listener) - val directions = HomeFragmentDirections.actionGlobalSearchDialog( sessionId = null diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt index 7ad6b9eb56..44d819ef2e 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt @@ -246,12 +246,16 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler { setupConstraints(view) - // When displayed above browser, dismisses dialog on clicking scrim area - if (findNavController().previousBackStackEntry?.destination?.id == R.id.browserFragment) { - binding.searchWrapper.setOnClickListener { - it.hideKeyboard() - dismissAllowingStateLoss() + // When displayed above browser or home screen, dismisses keyboard when touching scrim area + when (findNavController().previousBackStackEntry?.destination?.id) { + R.id.browserFragment, R.id.homeFragment -> { + binding.searchWrapper.setOnTouchListener { _, _ -> + binding.searchWrapper.hideKeyboard() + toolbarView.view.clearFocus() + false + } } + else -> {} } binding.searchEnginesShortcutButton.setOnClickListener {