diff --git a/core/java/android/content/res/ResourcesImpl.java b/core/java/android/content/res/ResourcesImpl.java index c16006a6a6191..477ffeff7e754 100644 --- a/core/java/android/content/res/ResourcesImpl.java +++ b/core/java/android/content/res/ResourcesImpl.java @@ -548,7 +548,24 @@ public class ResourcesImpl { remainder = languageTag.substring(separator); } - return Locale.adjustLanguageCode(language) + remainder; + // No need to convert to lower cases because the language in the return value of + // Locale.toLanguageTag has been lower-cased. + final String adjustedLanguage; + switch(language) { + case "id": + adjustedLanguage = "in"; + break; + case "yi": + adjustedLanguage = "ji"; + break; + case "he": + adjustedLanguage = "iw"; + break; + default: + adjustedLanguage = language; + break; + } + return adjustedLanguage + remainder; } /**