diff --git a/packages/SystemUI/res/layout/internet_connectivity_dialog.xml b/packages/SystemUI/res/layout/internet_connectivity_dialog.xml index 2fb9e2ea1f6fc..6163af09fa6b0 100644 --- a/packages/SystemUI/res/layout/internet_connectivity_dialog.xml +++ b/packages/SystemUI/res/layout/internet_connectivity_dialog.xml @@ -27,15 +27,16 @@ android:layout_width="match_parent" style="@style/Widget.SliceView.Panel" android:gravity="center_vertical|center_horizontal" - android:layout_marginTop="20dp" - android:layout_height="64dp" + android:layout_marginTop="24dp" + android:layout_marginBottom="24dp" + android:layout_height="wrap_content" android:orientation="vertical"> @@ -44,7 +45,8 @@ android:id="@+id/internet_dialog_subtitle" android:gravity="center_vertical|center_horizontal" android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_height="20dp" + android:layout_marginTop="8dp" android:ellipsize="end" android:maxLines="1" android:fontFamily="google-sans" diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java index 64809f3c94751..50fb66c10f832 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java @@ -15,8 +15,7 @@ */ package com.android.systemui.qs.tiles.dialog; -import static android.view.WindowInsets.Type.navigationBars; -import static android.view.WindowInsets.Type.statusBars; +import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS; import static com.android.systemui.Prefs.Key.QS_HAS_TURNED_OFF_MOBILE_DATA; @@ -166,7 +165,6 @@ public class InternetDialog extends SystemUIDialog implements if (!aboveStatusBar) { getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY); } - show(); } @Override @@ -179,16 +177,19 @@ public class InternetDialog extends SystemUIDialog implements mDialogView = LayoutInflater.from(mContext).inflate(R.layout.internet_connectivity_dialog, null); final Window window = getWindow(); - final WindowManager.LayoutParams lp = window.getAttributes(); - lp.gravity = Gravity.BOTTOM; - lp.setFitInsetsTypes(statusBars() | navigationBars()); - lp.setFitInsetsSides(WindowInsets.Side.all()); - lp.setFitInsetsIgnoringVisibility(true); - window.setAttributes(lp); + final WindowManager.LayoutParams layoutParams = window.getAttributes(); + layoutParams.gravity = Gravity.BOTTOM; + // Move down the dialog to overlay the navigation bar. + layoutParams.setFitInsetsTypes( + layoutParams.getFitInsetsTypes() & ~WindowInsets.Type.navigationBars()); + layoutParams.setFitInsetsSides(WindowInsets.Side.all()); + layoutParams.setFitInsetsIgnoringVisibility(true); + window.setAttributes(layoutParams); window.setContentView(mDialogView); window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); window.setWindowAnimations(R.style.Animation_InternetDialog); window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + window.addFlags(FLAG_LAYOUT_NO_LIMITS); mInternetDialogTitle = mDialogView.requireViewById(R.id.internet_dialog_title); mInternetDialogSubTitle = mDialogView.requireViewById(R.id.internet_dialog_subtitle); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt index d68ad4ba48e3a..85e6160e98c90 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogFactory.kt @@ -50,6 +50,7 @@ class InternetDialogFactory @Inject constructor( } else { internetDialog = InternetDialog(context, this, internetDialogController, aboveStatusBar, uiEventLogger, handler) + internetDialog?.show() } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java index 5052affee9dec..d394b0c9bfe25 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java @@ -74,6 +74,7 @@ public class InternetDialogTest extends SysuiTestCase { MockitoAnnotations.initMocks(this); mInternetDialog = new MockInternetDialog(mContext, mInternetDialogFactory, mInternetDialogController, true, mUiEventLogger, mHandler); + mInternetDialog.show(); doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID); when(mMockWifiManager.isWifiEnabled()).thenReturn(true); when(mMockWifiManager.getConnectionInfo()).thenReturn(mWifiInfo); @@ -177,8 +178,8 @@ public class InternetDialogTest extends SysuiTestCase { private String mConnectedWifiSummary; MockInternetDialog(Context context, InternetDialogFactory internetDialogFactory, - InternetDialogController internetDialogController, - boolean aboveStatusBar, UiEventLogger uiEventLogger, @Main Handler handler) { + InternetDialogController internetDialogController, boolean aboveStatusBar, + UiEventLogger uiEventLogger, @Main Handler handler) { super(context, internetDialogFactory, internetDialogController, aboveStatusBar, uiEventLogger, handler); mAdapter = mInternetAdapter;