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
This commit is contained in:
Weng Su
2024-05-03 21:12:54 +08:00
parent e1303ffa3a
commit a955648be4
2 changed files with 9 additions and 2 deletions

View File

@@ -44,6 +44,7 @@ open class WifiDialog2 @JvmOverloads constructor(
@StyleRes style: Int = 0, @StyleRes style: Int = 0,
private val hideSubmitButton: Boolean = mode == WifiConfigUiBase2.MODE_VIEW, private val hideSubmitButton: Boolean = mode == WifiConfigUiBase2.MODE_VIEW,
private val hideMeteredAndPrivacy: Boolean = false, private val hideMeteredAndPrivacy: Boolean = false,
private val isSysUiCaller: Boolean = false,
) : AlertDialog(context, style), WifiConfigUiBase2, DialogInterface.OnClickListener { ) : AlertDialog(context, style), WifiConfigUiBase2, DialogInterface.OnClickListener {
/** /**
* Host UI component of WifiDialog2 can receive callbacks by this interface. * 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 getController(): WifiConfigController2 = controller
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
setWindowsOverlay() if (isSysUiCaller) {
setWindowsOverlay()
}
view = layoutInflater.inflate(R.layout.wifi_dialog, null) view = layoutInflater.inflate(R.layout.wifi_dialog, null)
setView(view) setView(view)
controller = WifiConfigController2(this, view, wifiEntry, mode, hideMeteredAndPrivacy) controller = WifiConfigController2(this, view, wifiEntry, mode, hideMeteredAndPrivacy)

View File

@@ -43,6 +43,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SetupWizardUtils; import com.android.settings.SetupWizardUtils;
import com.android.settings.Utils;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.wifi.dpp.WifiDppUtils; import com.android.settings.wifi.dpp.WifiDppUtils;
import com.android.settingslib.core.lifecycle.ObservableActivity; import com.android.settingslib.core.lifecycle.ObservableActivity;
@@ -172,7 +173,10 @@ public class WifiDialogActivity extends ObservableActivity implements WifiDialog
} else { } else {
if (mIsWifiTrackerLib) { if (mIsWifiTrackerLib) {
mDialog2 = new WifiDialog2(this, this, 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 { } else {
mDialog = WifiDialog.createModal( mDialog = WifiDialog.createModal(
this, this, mAccessPoint, WifiConfigUiBase.MODE_CONNECT); this, this, mAccessPoint, WifiConfigUiBase.MODE_CONNECT);