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)) {