diff options
author | Narayan Kamath <narayan@google.com> | 2014-07-03 13:26:07 +0100 |
---|---|---|
committer | Narayan Kamath <narayan@google.com> | 2014-07-03 13:31:42 +0100 |
commit | 80b574199c5d06132acbcf640ec81f45f0d76ce3 (patch) | |
tree | 452c319f6227fcd456deadbd1cb75acac1b096f9 | |
parent | 104da1e495cbed81e7ebe66b80344bf916b02391 (diff) | |
download | base-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.java | 3 |
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; } |