Filter hidden items in UI layer

This commit is contained in:
MM20
2022-06-12 13:28:02 +02:00
parent aa0cd9a062
commit 5ae0ec42b7
30 changed files with 96 additions and 245 deletions
-1
View File
@@ -45,7 +45,6 @@ dependencies {
implementation(libs.koin.android)
implementation(project(":search"))
implementation(project(":hiddenitems"))
implementation(project(":preferences"))
implementation(project(":base"))
implementation(project(":ktx"))
@@ -1,9 +1,7 @@
package de.mm20.launcher2.files
import android.content.Context
import android.util.Log
import de.mm20.launcher2.files.providers.*
import de.mm20.launcher2.hiddenitems.HiddenItemsRepository
import de.mm20.launcher2.nextcloud.NextcloudApiHelper
import de.mm20.launcher2.owncloud.OwncloudClient
import de.mm20.launcher2.permissions.PermissionsManager
@@ -22,14 +20,12 @@ interface FileRepository {
internal class FileRepositoryImpl(
private val context: Context,
hiddenItemsRepository: HiddenItemsRepository,
private val dataStore: LauncherDataStore,
private val permissionsManager: PermissionsManager,
) : FileRepository {
private val scope = CoroutineScope(Job() + Dispatchers.Default)
private val hiddenItems = hiddenItemsRepository.hiddenItemsKeys
private val providers = MutableStateFlow<List<FileProvider>>(emptyList())
@@ -75,12 +71,10 @@ internal class FileRepositoryImpl(
send(emptyList())
return@collectLatest
}
hiddenItems.collectLatest { hiddenItems ->
val results = mutableListOf<File>()
for (provider in providers) {
results.addAll(provider.search(query))
send(results.toList())
}
val results = mutableListOf<File>()
for (provider in providers) {
results.addAll(provider.search(query))
send(results.toList())
}
}
}
@@ -5,5 +5,5 @@ import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.dsl.module
val filesModule = module {
single<FileRepository> { FileRepositoryImpl(androidContext(), get(), get(), get()) }
single<FileRepository> { FileRepositoryImpl(androidContext(), get(), get()) }
}