Use system locale list.
Context's assets may be different from system's. We should
prefer system's to reflect PRODUCT_LOCALE.
Bug: 4104675
Change-Id: I968c3baf6bfeb945f1b71ec709d5088332482319
diff --git a/core/java/com/android/internal/app/LocalePicker.java b/core/java/com/android/internal/app/LocalePicker.java
index e32c62d..52cb679 100644
--- a/core/java/com/android/internal/app/LocalePicker.java
+++ b/core/java/com/android/internal/app/LocalePicker.java
@@ -88,7 +88,7 @@
public static ArrayAdapter<LocaleInfo> constructAdapter(Context context,
int layoutId, int fieldId) {
final Resources resources = context.getResources();
- final String[] locales = context.getAssets().getLocales();
+ final String[] locales = Resources.getSystem().getAssets().getLocales();
final String[] specialLocaleCodes = resources.getStringArray(R.array.special_locale_codes);
final String[] specialLocaleNames = resources.getStringArray(R.array.special_locale_names);
Arrays.sort(locales);