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
diff --git a/src/com/android/settings/localepicker/LocaleDialogFragment.java b/src/com/android/settings/localepicker/LocaleDialogFragment.java
index 63fc179..a3bc007 100644
--- a/src/com/android/settings/localepicker/LocaleDialogFragment.java
+++ b/src/com/android/settings/localepicker/LocaleDialogFragment.java
@@ -101,6 +101,7 @@
                 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 @@
         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 958001e..bece414 100644
--- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
+++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
@@ -165,7 +165,7 @@
 
         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);