From 7dff8c7210c2af64ffb10ab4c7005a5c192c036a Mon Sep 17 00:00:00 2001 From: Bonian Chen Date: Tue, 16 Nov 2021 22:10:23 +0800 Subject: [PATCH] [Settings] Avoid from dialog disappear when click outside Avoid dialog from unexpected close when click out of dialog area. This create better user experience since user might not click to the correct area all the time. Bug: 204020202 Test: local Change-Id: Ice5cde73eb849f3e5722ab778be41615746210c0 (cherry picked from commit 3cb6a7a705ee17cda0c36287c212f33190645cc9) --- .../settings/datausage/BillingCycleSettings.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java index 8c433a061a6..57931c1b36b 100644 --- a/src/com/android/settings/datausage/BillingCycleSettings.java +++ b/src/com/android/settings/datausage/BillingCycleSettings.java @@ -271,12 +271,14 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements mView = dialogInflater.inflate(R.layout.data_usage_bytes_editor, null, false); setupPicker((EditText) mView.findViewById(R.id.bytes), (Spinner) mView.findViewById(R.id.size_spinner)); - return new AlertDialog.Builder(context) + Dialog dialog = new AlertDialog.Builder(context) .setTitle(isLimit ? R.string.data_usage_limit_editor_title : R.string.data_usage_warning_editor_title) .setView(mView) .setPositiveButton(R.string.data_usage_cycle_editor_positive, this) .create(); + dialog.setCanceledOnTouchOutside(false); + return dialog; } private void setupPicker(EditText bytesPicker, Spinner type) { @@ -402,10 +404,12 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements mCycleDayPicker.setValue(cycleDay); mCycleDayPicker.setWrapSelectorWheel(true); - return builder.setTitle(R.string.data_usage_cycle_editor_title) + Dialog dialog = builder.setTitle(R.string.data_usage_cycle_editor_title) .setView(view) .setPositiveButton(R.string.data_usage_cycle_editor_positive, this) .create(); + dialog.setCanceledOnTouchOutside(false); + return dialog; } @Override @@ -466,12 +470,14 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); - return new AlertDialog.Builder(context) + Dialog dialog = new AlertDialog.Builder(context) .setTitle(R.string.data_usage_limit_dialog_title) .setMessage(R.string.data_usage_limit_dialog_mobile) .setPositiveButton(android.R.string.ok, this) .setNegativeButton(android.R.string.cancel, null) .create(); + dialog.setCanceledOnTouchOutside(false); + return dialog; } @Override