Loading core/java/android/webkit/WebSettings.java +48 −25 Original line number Diff line number Diff line Loading @@ -327,6 +327,8 @@ public class WebSettings { android.os.Process.myUid()) != PackageManager.PERMISSION_GRANTED; } private static final String ACCEPT_LANG_FOR_US_LOCALE = "en-US"; /** * Looks at sLocale and returns current AcceptLanguage String. * @return Current AcceptLanguage String. Loading @@ -336,30 +338,51 @@ public class WebSettings { synchronized(sLockForLocaleSettings) { locale = sLocale; } StringBuffer buffer = new StringBuffer(); final String language = locale.getLanguage(); if (language != null) { buffer.append(language); final String country = locale.getCountry(); if (country != null) { buffer.append("-"); buffer.append(country); StringBuilder buffer = new StringBuilder(); addLocaleToHttpAcceptLanguage(buffer, locale); if (!Locale.US.equals(locale)) { if (buffer.length() > 0) { buffer.append(", "); } buffer.append(ACCEPT_LANG_FOR_US_LOCALE); } if (!locale.equals(Locale.US)) { buffer.append(", "); java.util.Locale us = Locale.US; if (us.getLanguage() != null) { buffer.append(us.getLanguage()); final String country = us.getCountry(); if (country != null) { buffer.append("-"); buffer.append(country); return buffer.toString(); } /** * Convert obsolete language codes, including Hebrew/Indonesian/Yiddish, * to new standard. */ private static String convertObsoleteLanguageCodeToNew(String langCode) { if (langCode == null) { return null; } if ("iw".equals(langCode)) { // Hebrew return "he"; } else if ("in".equals(langCode)) { // Indonesian return "id"; } else if ("ji".equals(langCode)) { // Yiddish return "yi"; } return langCode; } return buffer.toString(); private static void addLocaleToHttpAcceptLanguage(StringBuilder builder, Locale locale) { String language = convertObsoleteLanguageCodeToNew(locale.getLanguage()); if (language != null) { builder.append(language); String country = locale.getCountry(); if (country != null) { builder.append("-"); builder.append(country); } } } /** Loading @@ -383,7 +406,7 @@ public class WebSettings { buffer.append("; "); final String language = locale.getLanguage(); if (language != null) { buffer.append(language.toLowerCase()); buffer.append(convertObsoleteLanguageCodeToNew(language)); final String country = locale.getCountry(); if (country != null) { buffer.append("-"); Loading Loading
core/java/android/webkit/WebSettings.java +48 −25 Original line number Diff line number Diff line Loading @@ -327,6 +327,8 @@ public class WebSettings { android.os.Process.myUid()) != PackageManager.PERMISSION_GRANTED; } private static final String ACCEPT_LANG_FOR_US_LOCALE = "en-US"; /** * Looks at sLocale and returns current AcceptLanguage String. * @return Current AcceptLanguage String. Loading @@ -336,30 +338,51 @@ public class WebSettings { synchronized(sLockForLocaleSettings) { locale = sLocale; } StringBuffer buffer = new StringBuffer(); final String language = locale.getLanguage(); if (language != null) { buffer.append(language); final String country = locale.getCountry(); if (country != null) { buffer.append("-"); buffer.append(country); StringBuilder buffer = new StringBuilder(); addLocaleToHttpAcceptLanguage(buffer, locale); if (!Locale.US.equals(locale)) { if (buffer.length() > 0) { buffer.append(", "); } buffer.append(ACCEPT_LANG_FOR_US_LOCALE); } if (!locale.equals(Locale.US)) { buffer.append(", "); java.util.Locale us = Locale.US; if (us.getLanguage() != null) { buffer.append(us.getLanguage()); final String country = us.getCountry(); if (country != null) { buffer.append("-"); buffer.append(country); return buffer.toString(); } /** * Convert obsolete language codes, including Hebrew/Indonesian/Yiddish, * to new standard. */ private static String convertObsoleteLanguageCodeToNew(String langCode) { if (langCode == null) { return null; } if ("iw".equals(langCode)) { // Hebrew return "he"; } else if ("in".equals(langCode)) { // Indonesian return "id"; } else if ("ji".equals(langCode)) { // Yiddish return "yi"; } return langCode; } return buffer.toString(); private static void addLocaleToHttpAcceptLanguage(StringBuilder builder, Locale locale) { String language = convertObsoleteLanguageCodeToNew(locale.getLanguage()); if (language != null) { builder.append(language); String country = locale.getCountry(); if (country != null) { builder.append("-"); builder.append(country); } } } /** Loading @@ -383,7 +406,7 @@ public class WebSettings { buffer.append("; "); final String language = locale.getLanguage(); if (language != null) { buffer.append(language.toLowerCase()); buffer.append(convertObsoleteLanguageCodeToNew(language)); final String country = locale.getCountry(); if (country != null) { buffer.append("-"); Loading