Remove Numbering System preference if no corresponding locale.

- If locale has no multiple numbering systems, it shall not
   show the locale on list.
 - If there is no locale with numberung system, remove the entry of
   numbering system preference on UI.

Bug: b/274053189
Test: atest passed
Test: Manual test passed
Change-Id: If61c7e233630644e2d6245c5efd75d15d52cf94b
This commit is contained in:
tom hsu
2023-03-20 11:55:00 +08:00
parent fced4027ab
commit 881e8ac556
6 changed files with 136 additions and 14 deletions

View File

@@ -27,9 +27,19 @@ public class LocaleFeatureProviderImpl implements LocaleFeatureProvider {
@Override
public String getLocaleNames() {
final LocaleList locales = LocalePicker.getLocales();
Locale[] arrLocalesWithoutExtension = new Locale[locales.size()];
for (int i = 0; i < locales.size(); i++) {
arrLocalesWithoutExtension[i] = locales.get(i).stripExtensions();
return getLocaleNames(locales);
}
/**
* Returns displayable string of inputted locales.
*/
public String getLocaleNames(LocaleList inputLocales) {
if (inputLocales.isEmpty()) {
return "";
}
Locale[] arrLocalesWithoutExtension = new Locale[inputLocales.size()];
for (int i = 0; i < inputLocales.size(); i++) {
arrLocalesWithoutExtension[i] = inputLocales.get(i).stripExtensions();
}
final Locale displayLocale = Locale.getDefault();
return LocaleHelper.toSentenceCase(