diff --git a/app/build.gradle b/app/build.gradle index d71503d3..5af4dea7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -51,7 +51,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.10.15' + implementation 'com.simplemobiletools:commons:5.10.16' implementation 'com.github.Stericson:RootTools:df729dcb13' implementation 'com.alexvasilkov:gesture-views:2.5.2' } diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/fragments/ItemsFragment.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/fragments/ItemsFragment.kt index 490e27e7..913b9127 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/fragments/ItemsFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/fragments/ItemsFragment.kt @@ -255,9 +255,32 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb activity?.runOnUiThread { getRecyclerAdapter()?.updateItems(filtered, text) } + + if (text.trim().length > 2) { + val fileDirItems = ArrayList() + fileDirItems.addAll(searchFiles(text.trim(), currentPath)) + } }.start() } + private fun searchFiles(text: String, path: String): ArrayList { + val files = ArrayList() + val isSortingBySize = context!!.config.getFolderSorting(path) and SORT_BY_SIZE != 0 + File(path).listFiles()?.forEach { + if (it.isDirectory) { + files.addAll(searchFiles(text, it.absolutePath)) + } else { + if (it.name.startsWith(text, true)) { + val fileDirItem = getFileDirItemFromFile(it, isSortingBySize) + if (fileDirItem != null) { + files.add(fileDirItem) + } + } + } + } + return files + } + fun searchOpened() { isSearchOpen = true }