aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorCharles Lombardo <[email protected]>2023-05-28 21:06:37 -0400
committerbunnei <[email protected]>2023-06-03 00:06:04 -0700
commitbfb4e3bcaa0b11d824bc2b273a158e28b9cd608c (patch)
tree06314ec372ac6b8c154e35bcc9736b5ea0966b85 /src
parent0cbae3379067b657cce3bec6184bca31806363cf (diff)
downloadyuzu-android-bfb4e3bcaa0b11d824bc2b273a158e28b9cd608c.tar.gz
yuzu-android-bfb4e3bcaa0b11d824bc2b273a158e28b9cd608c.zip
android: Improve searches with one character
The Jaccard algorithm is great for searches with 2 or more characters but nothing is returned for searches with one character. To get around this, just search with JaroWinkler for single character searches.
Diffstat (limited to 'src')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SearchFragment.kt3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SearchFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SearchFragment.kt
index eb4f513d1..ebc0f164a 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SearchFragment.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SearchFragment.kt
@@ -19,6 +19,7 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.preference.PreferenceManager
import info.debatty.java.stringsimilarity.Jaccard
+import info.debatty.java.stringsimilarity.JaroWinkler
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication
import org.yuzu.yuzu_emu.adapters.GameAdapter
@@ -150,7 +151,7 @@ class SearchFragment : Fragment() {
}
val searchTerm = binding.searchText.text.toString().lowercase(Locale.getDefault())
- val searchAlgorithm = Jaccard(2)
+ val searchAlgorithm = if (searchTerm.length > 1) Jaccard(2) else JaroWinkler()
val sortedList: List<Game> = filteredList.mapNotNull { game ->
val title = game.title.lowercase(Locale.getDefault())
val score = searchAlgorithm.similarity(searchTerm, title)