Fix result does not get correct locale tag.
- phone.getContext return a null in Cuttle fish ROM. It make the test
result get failed. Hence mock the Context instance to avoid this
situation.
Bug: b/254731907
Test: atest passed.
Test: Manual test passed. After FDR, check Wellcome page in SUW show
correct locale with zh-TW sim.
Change-Id: I831c425116b15814197944dc58588ec76d0c1b3a
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index bd2be12..516eef0 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -7842,7 +7842,7 @@
if (!localeFromDefaultSim.getCountry().isEmpty()) {
if (DBG) log("Using locale from subId: " + subId + " locale: "
+ localeFromDefaultSim);
- return matchLocaleFromSupportedLocaleList(localeFromDefaultSim);
+ return matchLocaleFromSupportedLocaleList(phone, localeFromDefaultSim);
} else {
simLanguage = localeFromDefaultSim.getLanguage();
}
@@ -7855,7 +7855,7 @@
final Locale mccLocale = LocaleUtils.getLocaleFromMcc(mApp, mcc, simLanguage);
if (mccLocale != null) {
if (DBG) log("No locale from SIM, using mcc locale:" + mccLocale);
- return matchLocaleFromSupportedLocaleList(mccLocale);
+ return matchLocaleFromSupportedLocaleList(phone, localeFromDefaultSim);
}
if (DBG) log("No locale found - returning null");
@@ -7866,9 +7866,9 @@
}
@VisibleForTesting
- String matchLocaleFromSupportedLocaleList(@NonNull Locale inputLocale) {
+ String matchLocaleFromSupportedLocaleList(Phone phone, @NonNull Locale inputLocale) {
String[] supportedLocale = com.android.internal.app.LocalePicker.getSupportedLocales(
- getDefaultPhone().getContext());
+ phone.getContext());
for (String localeTag : supportedLocale) {
if (LocaleList.matchesLanguageAndScript(
inputLocale, Locale.forLanguageTag(localeTag))