From a955648be4bb41b06349a8a935011ed7c3c23911 Mon Sep 17 00:00:00 2001 From: Weng Su Date: Fri, 3 May 2024 21:12:54 +0800 Subject: [PATCH] Don't set the Wi-Fi dialog to the topmost UI - Set Wi-Fi dialog to topmost UI only when called by SysUI Bug: 293965733 Flag: None Test: Manual testing atest -c WifiDialogActivityTest Change-Id: I9215b3e7f86c0d31fa0c4c492f29032c3d14ad6d --- src/com/android/settings/wifi/WifiDialog2.kt | 5 ++++- src/com/android/settings/wifi/WifiDialogActivity.java | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/wifi/WifiDialog2.kt b/src/com/android/settings/wifi/WifiDialog2.kt index a0d215a2ffa..2b89e4bb41a 100644 --- a/src/com/android/settings/wifi/WifiDialog2.kt +++ b/src/com/android/settings/wifi/WifiDialog2.kt @@ -44,6 +44,7 @@ open class WifiDialog2 @JvmOverloads constructor( @StyleRes style: Int = 0, private val hideSubmitButton: Boolean = mode == WifiConfigUiBase2.MODE_VIEW, private val hideMeteredAndPrivacy: Boolean = false, + private val isSysUiCaller: Boolean = false, ) : AlertDialog(context, style), WifiConfigUiBase2, DialogInterface.OnClickListener { /** * Host UI component of WifiDialog2 can receive callbacks by this interface. @@ -71,7 +72,9 @@ open class WifiDialog2 @JvmOverloads constructor( override fun getController(): WifiConfigController2 = controller override fun onCreate(savedInstanceState: Bundle?) { - setWindowsOverlay() + if (isSysUiCaller) { + setWindowsOverlay() + } view = layoutInflater.inflate(R.layout.wifi_dialog, null) setView(view) controller = WifiConfigController2(this, view, wifiEntry, mode, hideMeteredAndPrivacy) diff --git a/src/com/android/settings/wifi/WifiDialogActivity.java b/src/com/android/settings/wifi/WifiDialogActivity.java index eb3d88a9668..951277aa9cf 100644 --- a/src/com/android/settings/wifi/WifiDialogActivity.java +++ b/src/com/android/settings/wifi/WifiDialogActivity.java @@ -43,6 +43,7 @@ import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.SetupWizardUtils; +import com.android.settings.Utils; import com.android.settings.overlay.FeatureFactory; import com.android.settings.wifi.dpp.WifiDppUtils; import com.android.settingslib.core.lifecycle.ObservableActivity; @@ -172,7 +173,10 @@ public class WifiDialogActivity extends ObservableActivity implements WifiDialog } else { if (mIsWifiTrackerLib) { mDialog2 = new WifiDialog2(this, this, - mNetworkDetailsTracker.getWifiEntry(), WifiConfigUiBase2.MODE_CONNECT); + mNetworkDetailsTracker.getWifiEntry(), WifiConfigUiBase2.MODE_CONNECT, + 0 /* style */, false /* hideSubmitButton */, + false /* hideMeteredAndPrivacy */, + Utils.SYSTEMUI_PACKAGE_NAME.equals(getLaunchedFromPackage())); } else { mDialog = WifiDialog.createModal( this, this, mAccessPoint, WifiConfigUiBase.MODE_CONNECT);