mirror of
https://github.com/SimpleMobileTools/Simple-File-Manager.git
synced 2025-02-11 17:30:39 +01:00
allow searching Recents fragments too
This commit is contained in:
parent
cf9326d323
commit
f01bcb0f35
@ -31,6 +31,7 @@ import com.simplemobiletools.filemanager.pro.extensions.config
|
||||
import com.simplemobiletools.filemanager.pro.extensions.tryOpenPathIntent
|
||||
import com.simplemobiletools.filemanager.pro.fragments.ItemsFragment
|
||||
import com.simplemobiletools.filemanager.pro.fragments.MyViewPagerFragment
|
||||
import com.simplemobiletools.filemanager.pro.fragments.RecentsFragment
|
||||
import com.simplemobiletools.filemanager.pro.fragments.StorageFragment
|
||||
import com.simplemobiletools.filemanager.pro.helpers.MAX_COLUMN_COUNT
|
||||
import com.simplemobiletools.filemanager.pro.helpers.RootHelpers
|
||||
@ -143,13 +144,15 @@ class MainActivity : SimpleActivity() {
|
||||
}
|
||||
|
||||
override fun onBackPressed() {
|
||||
if (getCurrentFragment() !is ItemsFragment) {
|
||||
if (getCurrentFragment() is StorageFragment) {
|
||||
super.onBackPressed()
|
||||
return
|
||||
}
|
||||
|
||||
if (main_menu.isSearchOpen) {
|
||||
main_menu.closeSearch()
|
||||
} else if (getCurrentFragment() is RecentsFragment) {
|
||||
super.onBackPressed()
|
||||
} else if (getCurrentFragment()!!.breadcrumbs.getItemCount() <= 1) {
|
||||
if (!wasBackJustPressed && config.pressBackTwice) {
|
||||
wasBackJustPressed = true
|
||||
|
@ -70,7 +70,8 @@ class ItemsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerF
|
||||
if (currentPath != "") {
|
||||
breadcrumbs.updateColor(textColor)
|
||||
}
|
||||
items_swipe_refresh.isEnabled = activity?.config?.enablePullToRefresh != false
|
||||
|
||||
items_swipe_refresh.isEnabled = lastSearchedText.isEmpty() && activity?.config?.enablePullToRefresh != false
|
||||
}
|
||||
|
||||
override fun setupFontSize() {
|
||||
@ -300,6 +301,7 @@ class ItemsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerF
|
||||
return
|
||||
}
|
||||
|
||||
items_swipe_refresh.isEnabled = text.isEmpty() && activity?.config?.enablePullToRefresh != false
|
||||
when {
|
||||
searchText.isEmpty() -> {
|
||||
items_fastscroller.beVisible()
|
||||
@ -396,7 +398,6 @@ class ItemsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerF
|
||||
fun searchOpened() {
|
||||
isSearchOpen = true
|
||||
lastSearchedText = ""
|
||||
items_swipe_refresh.isEnabled = false
|
||||
}
|
||||
|
||||
fun searchClosed() {
|
||||
|
@ -28,6 +28,8 @@ import java.io.File
|
||||
|
||||
class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment(context, attributeSet), ItemOperationsListener {
|
||||
private val RECENTS_LIMIT = 50
|
||||
private var filesIgnoringSearch = ArrayList<ListItem>()
|
||||
private var lastSearchedText = ""
|
||||
|
||||
override fun setupFragment(activity: SimpleActivity) {
|
||||
if (this.activity == null) {
|
||||
@ -44,6 +46,7 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
|
||||
recents_swipe_refresh?.isRefreshing = false
|
||||
recents_list.beVisibleIf(recents.isNotEmpty())
|
||||
recents_placeholder.beVisibleIf(recents.isEmpty())
|
||||
filesIgnoringSearch = recents
|
||||
addItems(recents, false)
|
||||
|
||||
if (context != null && currentViewType != context!!.config.getFolderViewType(currentPath)) {
|
||||
@ -78,7 +81,7 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
|
||||
initDrawables()
|
||||
}
|
||||
|
||||
recents_swipe_refresh.isEnabled = activity?.config?.enablePullToRefresh != false
|
||||
recents_swipe_refresh.isEnabled = lastSearchedText.isEmpty() && activity?.config?.enablePullToRefresh != false
|
||||
}
|
||||
|
||||
private fun setupLayoutManager() {
|
||||
@ -225,7 +228,13 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
|
||||
}
|
||||
}
|
||||
|
||||
override fun searchQueryChanged(text: String) {}
|
||||
override fun searchQueryChanged(text: String) {
|
||||
lastSearchedText = text
|
||||
val filtered = filesIgnoringSearch.filter { it.mName.contains(text, true) }.toMutableList() as ArrayList<ListItem>
|
||||
(recents_list.adapter as? ItemsAdapter)?.updateItems(filtered, text)
|
||||
recents_placeholder.beVisibleIf(filtered.isEmpty())
|
||||
recents_swipe_refresh.isEnabled = lastSearchedText.isEmpty() && activity?.config?.enablePullToRefresh != false
|
||||
}
|
||||
|
||||
override fun finishActMode() {
|
||||
getRecyclerAdapter()?.finishActMode()
|
||||
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.simplemobiletools.filemanager.pro.fragments.RecentsFragment xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/recents_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
@ -18,7 +19,8 @@
|
||||
android:text="@string/no_items_found"
|
||||
android:textSize="@dimen/bigger_text_size"
|
||||
android:textStyle="italic"
|
||||
android:visibility="gone" />
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/recents_swipe_refresh"
|
||||
@ -34,5 +36,6 @@
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:scrollbars="none"
|
||||
app:layoutManager="com.simplemobiletools.commons.views.MyGridLayoutManager" />
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
</com.simplemobiletools.filemanager.pro.fragments.RecentsFragment>
|
||||
|
Loading…
x
Reference in New Issue
Block a user