Tweak search query thresholds

This commit is contained in:
MM20 2022-12-21 19:35:33 +01:00
parent 840aa9b4c4
commit 41a0157983
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
4 changed files with 8 additions and 5 deletions

View File

@ -38,7 +38,7 @@ internal class CalendarRepositoryImpl(
) : CalendarRepository {
override fun search(query: String): Flow<ImmutableList<CalendarEvent>> {
if (query.isBlank() || query.length < 3) {
if (query.isBlank() || query.length < 2) {
return flow {
emit(persistentListOf())
}

View File

@ -24,7 +24,7 @@ internal class ContactRepositoryImpl(
override fun search(query: String): Flow<ImmutableList<Contact>> {
val hasPermission = permissionsManager.hasPermission(PermissionGroup.Contacts)
if (query.length < 3) {
if (query.length < 2) {
return flow {
emit(persistentListOf())
}
@ -59,6 +59,7 @@ internal class ContactRepositoryImpl(
val results = mutableListOf<Contact>()
for ((id, rawIds) in contactMap) {
Contact.contactById(context, id, rawIds)?.let { results.add(it) }
if (results.size > 15) break
}
results
}

View File

@ -19,6 +19,7 @@ internal class LocalFileProvider(
if (!permissionsManager.checkPermissionOnce(PermissionGroup.ExternalStorage)) {
return@withContext emptyList()
}
if (query.length < 2 || query.isBlank()) return@withContext emptyList()
val results = mutableListOf<LocalFile>()
val uri = MediaStore.Files.getContentUri("external").buildUpon()
.appendQueryParameter("limit", "10").build()
@ -29,9 +30,8 @@ internal class LocalFileProvider(
MediaStore.Files.FileColumns.DATA,
MediaStore.Files.FileColumns.MIME_TYPE
)
val selection =
if (query.length > 3) "${MediaStore.Files.FileColumns.TITLE} LIKE ?" else "${MediaStore.Files.FileColumns.TITLE} = ?"
val selArgs = if (query.length > 3) arrayOf("%$query%") else arrayOf(query)
val selection = "${MediaStore.Files.FileColumns.TITLE} LIKE ?"
val selArgs = if (query.length > 3) arrayOf("%$query%") else arrayOf("$query%")
val sort = "${MediaStore.Files.FileColumns.DISPLAY_NAME} COLLATE NOCASE ASC"

View File

@ -63,6 +63,8 @@ internal class WikipediaRepositoryImpl(
httpClient.dispatcher.cancelAll()
}
if (query.length < 4) return@channelFlow
if (!::wikipediaService.isInitialized) return@channelFlow
if (query.isBlank()) return@channelFlow