summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2014-07-03 13:26:07 +0100
committerNarayan Kamath <narayan@google.com>2014-07-03 13:31:42 +0100
commit80b574199c5d06132acbcf640ec81f45f0d76ce3 (patch)
tree452c319f6227fcd456deadbd1cb75acac1b096f9
parent104da1e495cbed81e7ebe66b80344bf916b02391 (diff)
downloadbase-80b574199c5d06132acbcf640ec81f45f0d76ce3.tar.gz
Fix LocalePicker locale filtering.
This was broken by commit b27c137087ee92674 which removed a badly phrased check. Prior to that commit, there was a check that excluded locales whose toString() length was not 5. This change reinstates that check in a less roundabout way, by excluding BCP-47 tags that don't have a country subtag. bug: 16038949 Change-Id: Ic24b1df87b2e2ce47d9ae04c7759088721f27b4f
-rw-r--r--core/java/com/android/internal/app/LocalePicker.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/java/com/android/internal/app/LocalePicker.java b/core/java/com/android/internal/app/LocalePicker.java
index 69736153df9a..f5c498a8fbc9 100644
--- a/core/java/com/android/internal/app/LocalePicker.java
+++ b/core/java/com/android/internal/app/LocalePicker.java
@@ -131,7 +131,8 @@ public class LocalePicker extends ListFragment {
final ArrayList<LocaleInfo> localeInfos = new ArrayList<LocaleInfo>(localeList.size());
for (String locale : localeList) {
final Locale l = Locale.forLanguageTag(locale.replace('_', '-'));
- if (l == null || "und".equals(l.getLanguage())) {
+ if (l == null || "und".equals(l.getLanguage())
+ || l.getLanguage().isEmpty() || l.getCountry().isEmpty()) {
continue;
}