diff options
4 files changed, 7 insertions, 2 deletions
diff --git a/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java b/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java index ba62eaa9bc..6d8152d85e 100644 --- a/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java +++ b/WifiDialog/src/com/android/wifi/dialog/WifiDialogActivity.java @@ -374,7 +374,8 @@ public class WifiDialogActivity extends Activity { } removeIntentAndPossiblyFinish(dialogId); }); - dialog.setCanceledOnTouchOutside(false); + dialog.setCanceledOnTouchOutside(getResources().getBoolean( + getBooleanId("config_wifiDialogCanceledOnTouchOutside"))); if (mGravity != Gravity.NO_GRAVITY) { dialog.getWindow().setGravity(mGravity); } diff --git a/service/ServiceWifiResources/res/values/config.xml b/service/ServiceWifiResources/res/values/config.xml index 0c85876ccf..4164a69f63 100644 --- a/service/ServiceWifiResources/res/values/config.xml +++ b/service/ServiceWifiResources/res/values/config.xml @@ -844,6 +844,8 @@ <!-- Indicate the gravity of Wifi dialogs. Must be an integer corresponding to a android.view.Gravity.GravityFlags constant. Default = Gravity.NO_GRAVITY (0) --> <integer translatable="false" name="config_wifiDialogGravity">0</integer> + <!-- Indicate whether to cancel Wifi dialogs when the screen is touched outside the dialog. --> + <bool translatable="false" name="config_wifiDialogCanceledOnTouchOutside">false</bool> <!-- Whether to show a confirmation dialog to the user if a third party app targeting below SDK level Q tries to enable Wi-Fi --> <bool translatable="false" name="config_showConfirmationDialogForThirdPartyAppsEnablingWifi">false</bool> diff --git a/service/ServiceWifiResources/res/values/overlayable.xml b/service/ServiceWifiResources/res/values/overlayable.xml index 8fd29a6850..f634587f72 100644 --- a/service/ServiceWifiResources/res/values/overlayable.xml +++ b/service/ServiceWifiResources/res/values/overlayable.xml @@ -233,6 +233,7 @@ <item type="bool" name="config_wifiSoftapOweSupported" /> <item type="bool" name="config_wifiSoftapOweTransitionSupported" /> <item type="integer" name="config_wifiDialogGravity" /> + <item type="bool" name="config_wifiDialogCanceledOnTouchOutside" /> <item type="bool" name="config_showConfirmationDialogForThirdPartyAppsEnablingWifi" /> <item type="integer" name="config_p2pInvitationReceivedDialogTimeoutMs"/> <item type="bool" name="config_p2pInvitationReceivedDialogNotificationSound"/> diff --git a/service/java/com/android/server/wifi/WifiDialogManager.java b/service/java/com/android/server/wifi/WifiDialogManager.java index eb40a7c1f6..8001463d60 100644 --- a/service/java/com/android/server/wifi/WifiDialogManager.java +++ b/service/java/com/android/server/wifi/WifiDialogManager.java @@ -553,7 +553,8 @@ public class WifiDialogManager { }); }) .create(); - mAlertDialog.setCanceledOnTouchOutside(false); + mAlertDialog.setCanceledOnTouchOutside(mContext.getResources().getBoolean( + R.bool.config_wifiDialogCanceledOnTouchOutside)); final Window window = mAlertDialog.getWindow(); int gravity = mContext.getResources().getInteger(R.integer.config_wifiDialogGravity); if (gravity != Gravity.NO_GRAVITY) { |