Make English the default language for Indian SIMs
Previously, Hindi would be reported by ICU's addLikelySubtags(), but
English is a better default for India.
Bug: 29627436
Change-Id: I168f05c4c0377ea49bd9eb8591c6dddac16d5605
diff --git a/src/java/com/android/internal/telephony/MccTable.java b/src/java/com/android/internal/telephony/MccTable.java
index 2a531c4..1797e65 100644
--- a/src/java/com/android/internal/telephony/MccTable.java
+++ b/src/java/com/android/internal/telephony/MccTable.java
@@ -124,10 +124,17 @@
return null;
}
+ final String country = entry.mIso;
+
+ // Choose English as the default language for India.
+ if ("in".equals(country)) {
+ return "en";
+ }
+
// Ask CLDR for the language this country uses...
- Locale likelyLocale = ICU.addLikelySubtags(new Locale("und", entry.mIso));
+ Locale likelyLocale = ICU.addLikelySubtags(new Locale("und", country));
String likelyLanguage = likelyLocale.getLanguage();
- Slog.d(LOG_TAG, "defaultLanguageForMcc(" + mcc + "): country " + entry.mIso + " uses " +
+ Slog.d(LOG_TAG, "defaultLanguageForMcc(" + mcc + "): country " + country + " uses " +
likelyLanguage);
return likelyLanguage;
}
diff --git a/tests/telephonytests/src/com/android/internal/telephony/MccTableTest.java b/tests/telephonytests/src/com/android/internal/telephony/MccTableTest.java
index 8346a9d..7030440 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/MccTableTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/MccTableTest.java
@@ -63,6 +63,13 @@
}
@SmallTest
+ public void testLang_India() throws Exception {
+ assertEquals(MccTable.defaultLanguageForMcc(404), "en");
+ assertEquals(MccTable.defaultLanguageForMcc(405), "en");
+ assertEquals(MccTable.defaultLanguageForMcc(406), "en");
+ }
+
+ @SmallTest
public void testSmDigits() throws Exception {
assertEquals(MccTable.smallestDigitsMccForMnc(312), 3);
assertEquals(MccTable.smallestDigitsMccForMnc(430), 2);