Merge "Revert "Fix result does not get correct locale tag.""
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 8e99a25..88b4443 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -7848,7 +7848,7 @@
if (!localeFromDefaultSim.getCountry().isEmpty()) {
if (DBG) log("Using locale from subId: " + subId + " locale: "
+ localeFromDefaultSim);
- return matchLocaleFromSupportedLocaleList(phone, localeFromDefaultSim);
+ return matchLocaleFromSupportedLocaleList(localeFromDefaultSim);
} else {
simLanguage = localeFromDefaultSim.getLanguage();
}
@@ -7861,7 +7861,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(phone, localeFromDefaultSim);
+ return matchLocaleFromSupportedLocaleList(mccLocale);
}
if (DBG) log("No locale found - returning null");
@@ -7872,9 +7872,9 @@
}
@VisibleForTesting
- String matchLocaleFromSupportedLocaleList(Phone phone, @NonNull Locale inputLocale) {
+ String matchLocaleFromSupportedLocaleList(@NonNull Locale inputLocale) {
String[] supportedLocale = com.android.internal.app.LocalePicker.getSupportedLocales(
- phone.getContext());
+ getDefaultPhone().getContext());
for (String localeTag : supportedLocale) {
if (LocaleList.matchesLanguageAndScript(
inputLocale, Locale.forLanguageTag(localeTag))
diff --git a/tests/src/com/android/phone/PhoneInterfaceManagerTest.java b/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
index b623bd0..ffc0177 100644
--- a/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
+++ b/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
@@ -17,16 +17,11 @@
package com.android.phone;
import static org.junit.Assert.assertEquals;
-import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import android.content.Context;
import android.content.pm.PackageManager;
-import android.content.res.Resources;
import android.telephony.RadioAccessFamily;
import android.telephony.TelephonyManager;
@@ -96,22 +91,14 @@
@Test
public void matchLocaleFromSupportedLocaleList_inputLocaleChangeToSupportedLocale() {
- Context context = mock(Context.class);
- Resources resources = mock(Resources.class);
- when(mPhone.getContext()).thenReturn(context);
- when(context.getResources()).thenReturn(resources);
- when(resources.getStringArray(anyInt())).thenReturn(new String[]{"zh-Hant-TW"});
// Input zh-TW, then look up the matched supported locale, zh-Hant-TW, instead.
- String result1 = mPhoneInterfaceManager.matchLocaleFromSupportedLocaleList(mPhone,
+ String result1 = mPhoneInterfaceManager.matchLocaleFromSupportedLocaleList(
Locale.forLanguageTag("zh-TW"));
assertEquals(result1, "zh-Hant-TW");
- when(resources.getStringArray(anyInt())).thenReturn(
- new String[]{"fi-FI", "ff-Adlm-BF", "ff-Latn-BF"});
-
// Input ff-BF, then find the matched supported locale, ff-Latn-BF, instead.
- String result2 = mPhoneInterfaceManager.matchLocaleFromSupportedLocaleList(mPhone,
+ String result2 = mPhoneInterfaceManager.matchLocaleFromSupportedLocaleList(
Locale.forLanguageTag("ff-BF"));
assertEquals(result2, "ff-Latn-BF");