1
0
Fork 0

smarter language search tool

This commit is contained in:
sspanak 2024-12-30 15:50:29 +02:00 committed by Dimo Karaivanov
parent 7e7ea5b3a2
commit f635e03b35

View file

@ -39,16 +39,20 @@ public class PreferenceSearchLanguage extends ItemTextInput {
@Override
protected void onChange(String word) {
word = word == null ? "" : word.trim();
word = word == null ? "" : word.trim().toLowerCase();
String wordInTheMiddle = " " + word;
String wordInParenthesis = "(" + word;
int visibleLanguages = languageItems.size();
for (PreferenceSwitchLanguage languageItem : languageItems) {
CharSequence title = languageItem.getTitle() == null ? "" : languageItem.getTitle();
CharSequence summary = languageItem.getSummary() == null ? "" : languageItem.getSummary();
String title = languageItem.getTitle() == null ? "" : languageItem.getTitle().toString().toLowerCase();
String summary = languageItem.getSummary() == null ? "" : languageItem.getSummary().toString().toLowerCase();
languageItem.setVisible(
title.toString().toLowerCase().startsWith(word.toLowerCase()) ||
summary.toString().toLowerCase().startsWith(word.toLowerCase())
// ordered by most likely to be found
title.startsWith(word) || summary.startsWith(word) ||
summary.contains(wordInTheMiddle) || title.contains(wordInParenthesis) ||
summary.contains(wordInParenthesis) || title.contains(wordInTheMiddle)
);
if (!languageItem.isVisible()) {