[Settings] Add test case for new LocalePicker page - suggested language

Bug: 396285228
Test: atest
Test: atest SettingsRoboTests:com.android.settings.localepicker.SystemLocaleSuggestedListPreferenceControllerTest
Test: atest SettingsUnitTests:com.android.settings.localepicker.SystemLocaleSuggestedListPreferenceControllerTest
Flag: EXEMPT refactor
Change-Id: I70d731b50775bf45ae0d73e4da9ea78dfcd3826c
This commit is contained in:
Zoey Chen
2025-02-14 11:28:13 +00:00
parent 5e79d18636
commit c0a09796b8
3 changed files with 299 additions and 4 deletions

View File

@@ -28,6 +28,7 @@ import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.FragmentManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
@@ -164,7 +165,8 @@ public abstract class LocalePickerBaseListPreferenceController extends
return getSortedLocaleList(searchItem);
}
private void setupPreference(List<LocaleStore.LocaleInfo> localeInfoList,
@VisibleForTesting
void setupPreference(List<LocaleStore.LocaleInfo> localeInfoList,
Map<String, Preference> existingPreferences) {
Log.d(TAG, "setupPreference: isNumberingMode = " + isNumberingMode());
if (isNumberingMode() && getPreferenceCategoryKey().contains(KEY_SUPPORTED)) {
@@ -255,7 +257,8 @@ public abstract class LocalePickerBaseListPreferenceController extends
return localeInfos;
}
private void switchFragment(LocaleStore.LocaleInfo localeInfo) {
@VisibleForTesting
void switchFragment(LocaleStore.LocaleInfo localeInfo) {
boolean shouldShowLocaleEditor = shouldShowLocaleEditor(localeInfo);
if (shouldShowLocaleEditor) {
List<LocaleStore.LocaleInfo> feedItemList = getUserLocaleList();
@@ -281,7 +284,6 @@ public abstract class LocalePickerBaseListPreferenceController extends
.setArguments(extra)
.launch();
}
((Activity) mContext).finish();
}
public void setFragmentManager(@NonNull FragmentManager fragmentManager) {
@@ -295,7 +297,8 @@ public abstract class LocalePickerBaseListPreferenceController extends
}
}
private boolean shouldShowLocaleEditor(LocaleStore.LocaleInfo localeInfo) {
@VisibleForTesting
boolean shouldShowLocaleEditor(LocaleStore.LocaleInfo localeInfo) {
boolean isSystemLocale = localeInfo.isSystemLocale();
boolean isRegionLocale = localeInfo.getParent() != null;
boolean mayHaveDifferentNumberingSystem = localeInfo.hasNumberingSystems();