Merge "[Panlingual] Should show confirm dialog when use the action of accessibility to change the default locale Bug: 303777391 Test: manual" into main

This commit is contained in:
Zoey Chen
2023-11-15 09:40:44 +00:00
committed by Android (Google) Code Review
2 changed files with 8 additions and 2 deletions

View File

@@ -43,6 +43,7 @@ import com.android.settings.R;
public class LocaleLinearLayoutManager extends LinearLayoutManager { public class LocaleLinearLayoutManager extends LinearLayoutManager {
private final LocaleDragAndDropAdapter mAdapter; private final LocaleDragAndDropAdapter mAdapter;
private final Context mContext; private final Context mContext;
private LocaleListEditor mLocaleListEditor;
private final AccessibilityNodeInfoCompat.AccessibilityActionCompat mActionMoveUp; private final AccessibilityNodeInfoCompat.AccessibilityActionCompat mActionMoveUp;
private final AccessibilityNodeInfoCompat.AccessibilityActionCompat mActionMoveDown; private final AccessibilityNodeInfoCompat.AccessibilityActionCompat mActionMoveDown;
@@ -147,8 +148,12 @@ public class LocaleLinearLayoutManager extends LinearLayoutManager {
} }
if (result) { if (result) {
mAdapter.doTheUpdate(); mLocaleListEditor.showConfirmDialog(false, mAdapter.getFeedItemList().get(0));
} }
return result; return result;
} }
public void setLocaleListEditor(LocaleListEditor localeListEditor) {
mLocaleListEditor = localeListEditor;
}
} }

View File

@@ -472,6 +472,7 @@ public class LocaleListEditor extends RestrictedSettingsFragment implements View
private void configureDragAndDrop(LayoutPreference layout) { private void configureDragAndDrop(LayoutPreference layout) {
final RecyclerView list = layout.findViewById(R.id.dragList); final RecyclerView list = layout.findViewById(R.id.dragList);
final LocaleLinearLayoutManager llm = new LocaleLinearLayoutManager(getContext(), mAdapter); final LocaleLinearLayoutManager llm = new LocaleLinearLayoutManager(getContext(), mAdapter);
llm.setLocaleListEditor(this);
llm.setAutoMeasureEnabled(true); llm.setAutoMeasureEnabled(true);
list.setLayoutManager(llm); list.setLayoutManager(llm);
list.setHasFixedSize(true); list.setHasFixedSize(true);
@@ -505,7 +506,7 @@ public class LocaleListEditor extends RestrictedSettingsFragment implements View
return false; return false;
} }
private void showConfirmDialog(boolean isFirstRemoved, LocaleStore.LocaleInfo localeInfo) { public void showConfirmDialog(boolean isFirstRemoved, LocaleStore.LocaleInfo localeInfo) {
Locale currentSystemLocale = LocalePicker.getLocales().get(0); Locale currentSystemLocale = LocalePicker.getLocales().get(0);
if (!localeInfo.getLocale().equals(currentSystemLocale)) { if (!localeInfo.getLocale().equals(currentSystemLocale)) {
final LocaleDialogFragment localeDialogFragment = final LocaleDialogFragment localeDialogFragment =