From 7a9202587efc65483c96338a46bba68cd97880e4 Mon Sep 17 00:00:00 2001 From: tom hsu Date: Fri, 31 Mar 2023 18:10:48 +0800 Subject: [PATCH] Improve dialog and system dialog UI - Fix wrong subtitle on system language list. - Do not dismiss dialog if user touch outside of dialog. Bug: b/276417170 Test: Manual test. Change-Id: Ib049dc3d89e6afc7d39171ac686616cc64dae3ba --- .../android/settings/localepicker/LocaleDialogFragment.java | 5 ++++- .../settings/localepicker/LocaleDragAndDropAdapter.java | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/localepicker/LocaleDialogFragment.java b/src/com/android/settings/localepicker/LocaleDialogFragment.java index 63fc1792a46..a3bc0073cc2 100644 --- a/src/com/android/settings/localepicker/LocaleDialogFragment.java +++ b/src/com/android/settings/localepicker/LocaleDialogFragment.java @@ -101,6 +101,7 @@ public class LocaleDialogFragment extends InstrumentedDialogFragment { R.layout.locale_dialog, null); setDialogTitle(viewGroup, dialogContent.mTitle); setDialogMessage(viewGroup, dialogContent.mMessage); + AlertDialog.Builder builder = new AlertDialog.Builder(getContext()) .setView(viewGroup); if (!dialogContent.mPositiveButton.isEmpty()) { @@ -109,7 +110,9 @@ public class LocaleDialogFragment extends InstrumentedDialogFragment { if (!dialogContent.mNegativeButton.isEmpty()) { builder.setNegativeButton(dialogContent.mNegativeButton, controller); } - return builder.create(); + AlertDialog alertDialog = builder.create(); + alertDialog.setCanceledOnTouchOutside(false); + return alertDialog; } private static void setDialogTitle(View root, String content) { diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java index 958001eeea9..bece4140153 100644 --- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java +++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java @@ -165,7 +165,7 @@ class LocaleDragAndDropAdapter dragCell.setLabelAndDescription(label, description); dragCell.setLocalized(feedItem.isTranslated()); - dragCell.setCurrentDefault(feedItem.getLocale().equals(LocalePicker.getLocales().get(0))); + dragCell.setCurrentDefault(feedItem.getLocale().equals(Locale.getDefault())); dragCell.setMiniLabel(mNumberFormatter.format(i + 1)); dragCell.setShowCheckbox(mRemoveMode); dragCell.setShowMiniLabel(!mRemoveMode);