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:
@@ -30,6 +30,7 @@ import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.internal.app.LocaleHelper;
|
||||
import com.android.internal.app.LocalePicker;
|
||||
import com.android.internal.app.LocaleStore;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
@@ -52,6 +53,8 @@ public class NumberingSystemItemController extends BasePreferenceController {
|
||||
|
||||
public NumberingSystemItemController(Context context, Bundle argument) {
|
||||
super(context, "no_key");
|
||||
// Initialize the supported languages to LocaleInfos
|
||||
LocaleStore.fillCache(context);
|
||||
mOption = argument.getString(
|
||||
RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE, "");
|
||||
mSelectedLanguage = argument.getString(
|
||||
@@ -111,8 +114,12 @@ public class NumberingSystemItemController extends BasePreferenceController {
|
||||
// Get current system language list to show on screen.
|
||||
LocaleList localeList = LocaleList.getDefault();
|
||||
for (int i = 0; i < localeList.size(); i++) {
|
||||
Preference pref = new Preference(mContext);
|
||||
Locale locale = localeList.get(i);
|
||||
LocaleStore.LocaleInfo localeInfo = LocaleStore.getLocaleInfo(locale);
|
||||
if (!localeInfo.hasNumberingSystems()) {
|
||||
continue;
|
||||
}
|
||||
Preference pref = new Preference(mContext);
|
||||
pref.setTitle(LocaleHelper.getDisplayName(locale.stripExtensions(), locale, true));
|
||||
pref.setKey(locale.toLanguageTag());
|
||||
pref.setSummary(getNumberingSystem(locale));
|
||||
|
Reference in New Issue
Block a user