Index: chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java |
index 2e0681bb6126996e838ebde71204b1c43aabc3b3..1ad52ebcb3837d038d963f25ecbdc9083a98524a 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java |
@@ -312,12 +312,13 @@ public class AddressEditor |
} |
@Override |
- public void onSubKeysReceived(String[] adminAreas) { |
+ public void onSubKeysReceived(String[] adminAreaCodes, String[] adminAreaNames) { |
if (mAdminAreasLoaded) return; |
mAdminAreasLoaded = true; |
mAddressFields.put(AddressField.ADMIN_AREA, |
- contains(adminAreas, mProfile.getRegion()) |
+ (contains(adminAreaCodes, mProfile.getRegion()) |
+ || contains(adminAreaNames, mProfile.getRegion())) |
? EditorFieldModel.createDropdown() |
: EditorFieldModel.createTextInput( |
EditorFieldModel.INPUT_TYPE_HINT_REGION)); |
@@ -333,16 +334,16 @@ public class AddressEditor |
// For example, "US" will not add dependent locality to the editor. A "JP" address will |
// start with a person's full name or a with a prefecture name, depending on whether the |
// language code is "ja-Latn" or "ja". |
- addAddressFieldsToEditor( |
- mRecentlySelectedCountry, Locale.getDefault().getLanguage(), adminAreas); |
+ addAddressFieldsToEditor(mRecentlySelectedCountry, Locale.getDefault().getLanguage(), |
+ adminAreaCodes, adminAreaNames); |
// Notify EditorDialog that the fields in the model have changed. EditorDialog should |
// re-read the model and update the UI accordingly. |
mHandler.post(mCountryChangeCallback); |
} else { |
// This should be called when all required fields are put in mAddressField. |
setAddressFieldValuesFromCache(); |
- addAddressFieldsToEditor( |
- mProfile.getCountryCode(), mProfile.getLanguageCode(), adminAreas); |
+ addAddressFieldsToEditor(mProfile.getCountryCode(), mProfile.getLanguageCode(), |
+ adminAreaCodes, adminAreaNames); |
mEditorDialog.show(mEditor); |
} |
} |
@@ -365,7 +366,7 @@ public class AddressEditor |
// fetch the admin-areas, and show a text-field instead. |
// This is to have the tests independent of the network status. |
if (PersonalDataManager.getInstance().getRequestTimeoutMS() == 0) { |
- onSubKeysReceived(null); |
+ onSubKeysReceived(null, null); |
return; |
} |
@@ -378,8 +379,8 @@ public class AddressEditor |
* Adds fields to the editor model based on the country and language code of |
* the profile that's being edited. |
*/ |
- private void addAddressFieldsToEditor( |
- String countryCode, String languageCode, String[] adminAreas) { |
+ private void addAddressFieldsToEditor(String countryCode, String languageCode, |
+ String[] adminAreaCodes, String[] adminAreaNames) { |
mAddressUiComponents = |
mAutofillProfileBridge.getAddressUiComponents(countryCode, languageCode); |
// In terms of order, country must be the first field. |
@@ -395,8 +396,8 @@ public class AddressEditor |
|| component.id == AddressField.DEPENDENT_LOCALITY); |
if (component.id == AddressField.ADMIN_AREA && field.isDropdownField()) { |
- field.setDropdownKeyValues( |
- mAutofillProfileBridge.getAdminAreaDropdownList(adminAreas)); |
+ field.setDropdownKeyValues(mAutofillProfileBridge.getAdminAreaDropdownList( |
+ adminAreaCodes, adminAreaNames)); |
} |
// Libaddressinput formats do not always require the full name (RECIPIENT), but |