diff --git a/res/values/strings.xml b/res/values/strings.xml index 9930c3685c0..22fa66cafd0 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -531,6 +531,7 @@ Change region to %s ? Your device will keep %s as a system language + The digits used will be dependent on the numbering system diff --git a/res/xml/system_language_picker.xml b/res/xml/system_language_picker.xml index 52623928eb4..3d8e9d90ebe 100644 --- a/res/xml/system_language_picker.xml +++ b/res/xml/system_language_picker.xml @@ -22,8 +22,7 @@ + android:title="@string/top_intro_region_title"/> { + // TODO: b/390347399 - Should pop up a dialog when changes the region. switchFragment(locale); + ((Activity) mContext).finish(); return true; }); mPreferences.put(locale.getId(), pref); diff --git a/src/com/android/settings/localepicker/RegionAndNumberingSystemPickerFragment.java b/src/com/android/settings/localepicker/RegionAndNumberingSystemPickerFragment.java index 293c1ee0a6a..091e55bf765 100644 --- a/src/com/android/settings/localepicker/RegionAndNumberingSystemPickerFragment.java +++ b/src/com/android/settings/localepicker/RegionAndNumberingSystemPickerFragment.java @@ -116,8 +116,8 @@ public class RegionAndNumberingSystemPickerFragment extends DashboardFragment im } TopIntroPreference topIntroPreference = findPreference(KEY_TOP_INTRO_PREFERENCE); - if (topIntroPreference != null) { - topIntroPreference.setVisible(!mIsNumberingMode); + if (topIntroPreference != null && mIsNumberingMode) { + topIntroPreference.setTitle(R.string.top_intro_numbering_system_title); } if (mSystemLocaleAllListPreferenceController != null) { diff --git a/src/com/android/settings/localepicker/SystemLocalePickerFragment.java b/src/com/android/settings/localepicker/SystemLocalePickerFragment.java index 183990bfb75..f9e211bdc05 100644 --- a/src/com/android/settings/localepicker/SystemLocalePickerFragment.java +++ b/src/com/android/settings/localepicker/SystemLocalePickerFragment.java @@ -47,6 +47,7 @@ import com.android.settings.dashboard.DashboardFragment; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.TopIntroPreference; import com.google.android.material.appbar.AppBarLayout; @@ -71,14 +72,13 @@ public class SystemLocalePickerFragment extends DashboardFragment implements private static final String KEY_PREFERENCE_SYSTEM_LOCALE_LIST = "system_locale_list"; private static final String KEY_PREFERENCE_SYSTEM_LOCALE_SUGGESTED_LIST = "system_locale_suggested_list"; + private static final String KEY_TOP_INTRO_PREFERENCE = "top_intro_region"; @Nullable private SearchView mSearchView = null; @Nullable private SearchFilter mSearchFilter = null; @Nullable - private Set mLocaleList; - @Nullable private List mLocaleOptions; @Nullable private List mOriginalLocaleInfos; @@ -106,8 +106,15 @@ public class SystemLocalePickerFragment extends DashboardFragment implements } SystemLocaleCollector systemLocaleCollector = new SystemLocaleCollector(getContext(), null); - mLocaleList = systemLocaleCollector.getSupportedLocaleList(null, false, false); - mLocaleOptions = new ArrayList<>(mLocaleList.size()); + Set localeList = systemLocaleCollector.getSupportedLocaleList(null, + false, false); + mLocaleOptions = new ArrayList<>(localeList.size()); + + TopIntroPreference topIntroPreference = findPreference(KEY_TOP_INTRO_PREFERENCE); + if (topIntroPreference != null) { + topIntroPreference.setVisible(false); + } + } @Override @@ -175,7 +182,7 @@ public class SystemLocalePickerFragment extends DashboardFragment implements FilterResults results = new FilterResults(); if (mOriginalLocaleInfos == null) { - mOriginalLocaleInfos = new ArrayList<>(mLocaleList); + mOriginalLocaleInfos = new ArrayList<>(mLocaleOptions); } if (TextUtils.isEmpty(prefix)) {