Close #20701: Dismiss keyboard when scrolling home screen

upstream-sync
Roger Yang 3 years ago committed by mergify[bot]
parent 1248f41a0a
commit 3d33a9422c

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

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

Loading…
Cancel
Save