Skip to content

Commit f5fa70d

Browse files
committed
improve search in files dialog (#106)
1 parent af000e3 commit f5fa70d

File tree

15 files changed

+963
-282
lines changed

15 files changed

+963
-282
lines changed

app/src/main/java/com/raival/compose/file/explorer/App.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import com.raival.compose.file.explorer.common.FileExplorerLogger
2626
import com.raival.compose.file.explorer.screen.main.MainActivityManager
2727
import com.raival.compose.file.explorer.screen.main.tab.files.coil.DocumentFileMapper
2828
import com.raival.compose.file.explorer.screen.main.tab.files.holder.LocalFileHolder
29+
import com.raival.compose.file.explorer.screen.main.tab.files.search.SearchManager
2930
import com.raival.compose.file.explorer.screen.main.tab.files.task.TaskManager
3031
import com.raival.compose.file.explorer.screen.main.tab.files.zip.ZipManager
3132
import com.raival.compose.file.explorer.screen.preferences.PreferencesManager
@@ -93,6 +94,7 @@ class App : Application(), coil3.SingletonImageLoader.Factory {
9394
}
9495
val taskManager: TaskManager by lazy { TaskManager() }
9596
val zipManager: ZipManager by lazy { ZipManager() }
97+
val searchManager: SearchManager by lazy { SearchManager() }
9698

9799
override fun onCreate() {
98100
super.onCreate()

app/src/main/java/com/raival/compose/file/explorer/screen/main/tab/files/holder/VirtualFileHolder.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ import com.raival.compose.file.explorer.screen.main.tab.files.provider.StoragePr
1010
import com.raival.compose.file.explorer.screen.main.tab.files.provider.StorageProvider.getDocumentFiles
1111
import com.raival.compose.file.explorer.screen.main.tab.files.provider.StorageProvider.getImageFiles
1212
import com.raival.compose.file.explorer.screen.main.tab.files.provider.StorageProvider.getRecentFiles
13+
import com.raival.compose.file.explorer.screen.main.tab.files.provider.StorageProvider.getSearchResult
1314
import com.raival.compose.file.explorer.screen.main.tab.files.provider.StorageProvider.getVideoFiles
1415
import kotlinx.coroutines.runBlocking
1516

1617
class VirtualFileHolder(val type: Int) : ContentHolder() {
1718
private var fileCount = 0
18-
private val contentList = arrayListOf<LocalFileHolder>()
19+
private val contentList = arrayListOf<ContentHolder>()
1920

2021
override val displayName = when (type) {
2122
BOOKMARKS -> globalClass.getString(R.string.bookmarks)
@@ -25,6 +26,7 @@ class VirtualFileHolder(val type: Int) : ContentHolder() {
2526
ARCHIVE -> globalClass.getString(R.string.archives)
2627
DOCUMENT -> globalClass.getString(R.string.documents)
2728
RECENT -> globalClass.getString(R.string.recent_files)
29+
SEARCH -> globalClass.getString(R.string.search)
2830
else -> globalClass.getString(R.string.unknown)
2931
}
3032

@@ -50,6 +52,7 @@ class VirtualFileHolder(val type: Int) : ContentHolder() {
5052
ARCHIVE -> getArchiveFiles()
5153
DOCUMENT -> getDocumentFiles()
5254
RECENT -> getRecentFiles()
55+
SEARCH -> getSearchResult()
5356
else -> arrayListOf()
5457
}.also {
5558
contentList.apply {
@@ -85,5 +88,6 @@ class VirtualFileHolder(val type: Int) : ContentHolder() {
8588
const val ARCHIVE = 4
8689
const val DOCUMENT = 5
8790
const val RECENT = 6
91+
const val SEARCH = 7
8892
}
8993
}

app/src/main/java/com/raival/compose/file/explorer/screen/main/tab/files/provider/StorageProvider.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import android.provider.MediaStore
1010
import androidx.core.content.ContextCompat
1111
import com.raival.compose.file.explorer.App.Companion.globalClass
1212
import com.raival.compose.file.explorer.R
13+
import com.raival.compose.file.explorer.screen.main.tab.files.holder.ContentHolder
1314
import com.raival.compose.file.explorer.screen.main.tab.files.holder.LocalFileHolder
1415
import com.raival.compose.file.explorer.screen.main.tab.files.holder.RootFileHolder
1516
import com.raival.compose.file.explorer.screen.main.tab.files.holder.StorageDevice
@@ -325,4 +326,8 @@ object StorageProvider {
325326

326327
return recentFiles
327328
}
329+
330+
fun getSearchResult(): ArrayList<ContentHolder> {
331+
return globalClass.searchManager.searchResults.map { it.file } as ArrayList<ContentHolder>
332+
}
328333
}

0 commit comments

Comments
 (0)