adding some search related improvements

This commit is contained in:
tibbi 2019-03-25 22:54:10 +01:00
parent f0fe018ebb
commit 846864c33d
1 changed files with 31 additions and 8 deletions

View File

@ -249,16 +249,39 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
}
fun searchQueryChanged(text: String) {
val searchText = text.trim()
Thread {
val filtered = storedItems.filter { it.name.contains(text, true) } as ArrayList
filtered.sortBy { !it.name.startsWith(text, true) }
activity?.runOnUiThread {
getRecyclerAdapter()?.updateItems(filtered, text)
when {
searchText.isEmpty() -> activity?.runOnUiThread {
mView.apply {
if (items_list.isGone()) {
items_list.beVisible()
getRecyclerAdapter()?.updateItems(storedItems)
}
if (text.trim().length > 2) {
items_placeholder.beGone()
items_placeholder_2.beGone()
}
}
searchText.length == 1 -> activity?.runOnUiThread {
mView.apply {
items_list.beGone()
items_placeholder.beVisible()
items_placeholder_2.beVisible()
}
}
else -> {
val fileDirItems = ArrayList<FileDirItem>()
fileDirItems.addAll(searchFiles(text.trim(), currentPath))
fileDirItems.addAll(searchFiles(searchText, currentPath))
activity?.runOnUiThread {
getRecyclerAdapter()?.updateItems(fileDirItems, text)
mView.apply {
items_list.beVisibleIf(fileDirItems.isNotEmpty())
items_placeholder.beVisibleIf(fileDirItems.isEmpty())
items_placeholder_2.beGone()
}
}
}
}
}.start()
}