@@ -40,6 +40,7 @@ import android.view.MenuItem
4040import android.view.View
4141import android.view.ViewTreeObserver.OnGlobalLayoutListener
4242import android.view.WindowManager.BadTokenException
43+ import android.view.inputmethod.InputMethodManager
4344import androidx.activity.OnBackPressedCallback
4445import androidx.annotation.VisibleForTesting
4546import androidx.appcompat.widget.SearchView
@@ -888,9 +889,12 @@ class FileDisplayActivity :
888889 val searchMenuItem = menu.findItem(R .id.action_search)
889890 searchView = MenuItemCompat .getActionView(searchMenuItem) as SearchView ?
890891 searchMenuItem.isVisible = false
891- mSearchText.setOnClickListener { v : View ? ->
892+ mSearchText.setOnClickListener {
892893 showSearchView()
893- searchView?.isIconified = false
894+ searchView?.postDelayed({
895+ searchView?.isIconified = false
896+ searchView?.requestFocusFromTouch()
897+ }, 100 )
894898 }
895899
896900 searchView?.let { viewThemeUtils.androidx.themeToolbarSearchView(it) }
@@ -961,7 +965,11 @@ class FileDisplayActivity :
961965 ) {
962966 openDrawer()
963967 } else {
964- onBackPressedDispatcher.onBackPressed()
968+ if (isSearchOpen()) {
969+ resetSearchAction()
970+ } else {
971+ onBackPressedDispatcher.onBackPressed()
972+ }
965973 }
966974 } else if (itemId == R .id.action_select_all) {
967975 val fragment = this .listOfFilesFragment
@@ -1239,17 +1247,18 @@ class FileDisplayActivity :
12391247 return
12401248 }
12411249
1242- searchView?.setQuery(" " , true )
1243- searchView?.onActionViewCollapsed()
12441250 searchView?.clearFocus()
1251+ val imm = getSystemService(INPUT_METHOD_SERVICE ) as ? InputMethodManager
1252+ imm?.hideSoftInputFromWindow(searchView?.windowToken, 0 )
1253+ searchView?.setQuery(" " , false )
1254+ searchView?.onActionViewCollapsed()
12451255
12461256 if (isRoot(getCurrentDir()) && leftFragment is OCFileListFragment ) {
12471257 // Remove the list to the original state
12481258 leftFragment.adapter?.let { adapter ->
12491259 val listOfHiddenFiles = adapter.listOfHiddenFiles
12501260 leftFragment.performSearch(" " , listOfHiddenFiles, true )
12511261 }
1252-
12531262 hideSearchView(getCurrentDir())
12541263 setDrawerIndicatorEnabled(isDrawerIndicatorAvailable)
12551264 }
0 commit comments