Improve dialog popup

1. Disable dialog when the sys language doesn't change
2. Associate region with system locale

Bug: 402600866
Test: atest LocaleListEditTest
Flag: EXEMPT bugfix
Change-Id: I2c7ddbf89b6caa02a35e247ebe97086f5880adee
This commit is contained in:
Allen Su
2025-03-18 10:37:37 +00:00
parent 56397ab5b3
commit e8bd9e66b8
5 changed files with 15 additions and 10 deletions

View File

@@ -18,7 +18,6 @@ package com.android.settings.regionalpreferences;
import android.content.Context;
import android.os.Bundle;
import android.os.LocaleList;
import android.util.Log;
import androidx.annotation.NonNull;
@@ -92,7 +91,7 @@ public abstract class RegionPickerBaseListPreferenceController extends BasePrefe
? getSuggestedLocaleList()
: getSupportedLocaleList();
if (getPreferenceCategoryKey().contains(KEY_SUGGESTED)) {
Locale systemLocale = LocaleList.getDefault().get(0);
Locale systemLocale = Locale.getDefault();
LocaleStore.LocaleInfo localeInfo = LocaleStore.getLocaleInfo(systemLocale);
result.add(localeInfo);
}
@@ -106,7 +105,7 @@ public abstract class RegionPickerBaseListPreferenceController extends BasePrefe
mPreferenceCategory.addPreference(pref);
pref.setTitle(locale.getFullCountryNameNative());
pref.setKey(locale.toString());
if (locale.getLocale().equals(LocaleList.getDefault().get(0))) {
if (locale.getLocale().equals(Locale.getDefault())) {
pref.setChecked(true);
} else {
pref.setChecked(false);
@@ -154,7 +153,7 @@ public abstract class RegionPickerBaseListPreferenceController extends BasePrefe
private List<LocaleStore.LocaleInfo> getSortedLocaleList(
List<LocaleStore.LocaleInfo> localeInfos) {
final Locale sortingLocale = LocaleList.getDefault().get(0);
final Locale sortingLocale = Locale.getDefault();
final LocaleHelper.LocaleInfoComparator comp =
new LocaleHelper.LocaleInfoComparator(sortingLocale, true);
Collections.sort(localeInfos, comp);
@@ -162,7 +161,7 @@ public abstract class RegionPickerBaseListPreferenceController extends BasePrefe
}
private void switchRegion(LocaleStore.LocaleInfo localeInfo) {
if (localeInfo.getLocale().equals(LocaleList.getDefault().get(0))) {
if (localeInfo.getLocale().equals(Locale.getDefault())) {
return;
}