From 69e7cdbc4715fa609ffa13d1c7396236b3c80f5f Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Thu, 11 Sep 2025 16:43:40 +0200 Subject: [PATCH] fix: Search with space #175 --- .../keepass/database/helper/SearchHelper.kt | 6 +++--- .../keepass/database/search/SearchHelper.kt | 18 +++++++++++++----- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/database/helper/SearchHelper.kt b/app/src/main/java/com/kunzisoft/keepass/database/helper/SearchHelper.kt index c4a90cf3c..232b88e17 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/helper/SearchHelper.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/helper/SearchHelper.kt @@ -59,9 +59,9 @@ object SearchHelper { && !searchInfo.containsOnlyNullValues()) { // If search provide results database.createVirtualGroupFromSearchInfo( - searchInfo.toString(), - searchInfo.isASearchByDomain(), - MAX_SEARCH_ENTRY + searchInfoString = searchInfo.toString(), + searchInfoByDomain = searchInfo.isASearchByDomain(), + max = MAX_SEARCH_ENTRY )?.let { searchGroup -> if (searchGroup.numberOfChildEntries > 0) { searchWithoutUI = true diff --git a/database/src/main/java/com/kunzisoft/keepass/database/search/SearchHelper.kt b/database/src/main/java/com/kunzisoft/keepass/database/search/SearchHelper.kt index f8f3da992..3be886cd1 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/search/SearchHelper.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/search/SearchHelper.kt @@ -151,7 +151,7 @@ class SearchHelper { if (searchParameters.searchByDomain) { try { stringToCheck.inTheSameDomainAs(word, sameSubDomain = true) - } catch (e: Exception) { + } catch (_: Exception) { false } } else null @@ -204,10 +204,18 @@ class SearchHelper { regex.matches(stringToCheck) } else { specialComparison?.invoke(stringToCheck, searchParameters.searchQuery) - ?: stringToCheck.contains( - searchParameters.searchQuery, - !searchParameters.caseSensitive - ) + ?: run { + // Search with space separator #175 + var searchFound = true + searchParameters.searchQuery.split(" ").forEach { word -> + searchFound = searchFound + && stringToCheck.contains( + word, + !searchParameters.caseSensitive + ) + } + searchFound + } } } }