Skip to content

Commit 4a56609

Browse files
committed
use java.util.Locale.ROOT
use Locale.ROOT in normalizeTextToLowercase() for consistent case folding The search index and matching must be independent of the user's UI language. Using BaseSettings.REVANCED_LANGUAGE.get().getLocale() can break case-insensitive matching in certain locales (e.g., Turkish 'tr_TR' where 'İ'.toLowerCase() → 'i' without dot, while 'i'.toUpperCase() → 'İ' — causing mismatches). Locale.ROOT provides standardized, locale-neutral case conversion: - 'İ' → 'i' (correct) - 'ß' → 'ss' - Consistent behavior across all languages This ensures reliable search for Korean, Arabic, Vietnamese, and Latin scripts regardless of the selected ReVanced language. Fixes incorrect search behavior when UI language is Turkish, German, etc.
1 parent d2d7a30 commit 4a56609

File tree

1 file changed

+1
-1
lines changed
  • extensions/shared/library/src/main/java/app/revanced/extension/shared

1 file changed

+1
-1
lines changed

extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -996,7 +996,7 @@ public static String normalizeTextToLowercase(CharSequence original) {
996996
if (original == null) return "";
997997
String normalized = Normalizer.normalize(original.toString(), Normalizer.Form.NFD);
998998
return normalized.replaceAll("\\p{M}", "")
999-
.toLowerCase(BaseSettings.REVANCED_LANGUAGE.get().getLocale());
999+
.toLowerCase(Locale.ROOT);
10001000
}
10011001

10021002
/**

0 commit comments

Comments
 (0)