From bc95ab7a3914ba71b48ce046a9a926e9e4f5a6f2 Mon Sep 17 00:00:00 2001 From: Evan Laird Date: Mon, 16 Mar 2020 18:16:11 -0400 Subject: DO NOT MERGE: Use status_bar_padding_top In status bar, keyguard, and quicksettings, things that live in the "status bar" area now properly obey status_bar_padding_top. Also refresh layout resources on configuration change in the status bar, fixing a couple of annoying bugs Test: manual Bug: 151221263 Change-Id: Ib4474ae2bd52919c2eecf9400c2711fd224fcc09 --- packages/SystemUI/res/layout/keyguard_status_bar.xml | 2 ++ .../layout/quick_status_bar_header_system_icons.xml | 3 ++- packages/SystemUI/res/layout/system_icons.xml | 3 +-- .../android/systemui/qs/QuickStatusBarHeader.java | 11 ++++++++--- .../systemui/statusbar/phone/PhoneStatusBarView.java | 20 ++++++++++++++++++++ 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml index 66c0c5c275ed..416ee8147e33 100644 --- a/packages/SystemUI/res/layout/keyguard_status_bar.xml +++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml @@ -30,6 +30,7 @@ android:id="@+id/status_icon_area" android:layout_width="wrap_content" android:layout_height="match_parent" + android:paddingTop="@dimen/status_bar_padding_top" android:layout_alignParentEnd="true" android:gravity="center_vertical|end" > + android:paddingEnd="@dimen/status_bar_padding_end" + android:paddingTop="@dimen/status_bar_padding_top" > @@ -36,4 +35,4 @@ android:clipToPadding="false" android:clipChildren="false" systemui:textAppearance="@style/TextAppearance.StatusBar.Clock" /> - \ No newline at end of file + diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java index a28b60dbe13c..c69a03246ef4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java @@ -402,10 +402,15 @@ public class QuickStatusBarHeader extends RelativeLayout implements cutout, getDisplay()); if (padding == null) { mSystemIconsView.setPaddingRelative( - getResources().getDimensionPixelSize(R.dimen.status_bar_padding_start), 0, - getResources().getDimensionPixelSize(R.dimen.status_bar_padding_end), 0); + getResources().getDimensionPixelSize(R.dimen.status_bar_padding_start), + getResources().getDimensionPixelSize(R.dimen.status_bar_padding_top), + getResources().getDimensionPixelSize(R.dimen.status_bar_padding_end), + 0); } else { - mSystemIconsView.setPadding(padding.first, 0, padding.second, 0); + mSystemIconsView.setPadding( + padding.first, + getResources().getDimensionPixelSize(R.dimen.status_bar_padding_top), + padding.second, 0); } return super.onApplyWindowInsets(insets); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java index c2317bab891e..63f4f1161a2f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java @@ -129,6 +129,7 @@ public class PhoneStatusBarView extends PanelBar { @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); + updateResources(); // May trigger cutout space layout-ing if (updateOrientationAndCutout(newConfig.orientation)) { @@ -292,9 +293,28 @@ public class PhoneStatusBarView extends PanelBar { mCutoutSideNudge = getResources().getDimensionPixelSize( R.dimen.display_cutout_margin_consumption); + boolean isRtl = getLayoutDirection() == View.LAYOUT_DIRECTION_RTL; + + int statusBarPaddingTop = getResources().getDimensionPixelSize( + R.dimen.status_bar_padding_top); + int statusBarPaddingStart = getResources().getDimensionPixelSize( + R.dimen.status_bar_padding_start); + int statusBarPaddingEnd = getResources().getDimensionPixelSize( + R.dimen.status_bar_padding_end); + ViewGroup.LayoutParams layoutParams = getLayoutParams(); mStatusBarHeight = getResources().getDimensionPixelSize(R.dimen.status_bar_height); layoutParams.height = mStatusBarHeight; + + View sbContents = findViewById(R.id.status_bar_contents); + sbContents.setPadding( + isRtl ? statusBarPaddingEnd : statusBarPaddingStart, + statusBarPaddingTop, + isRtl ? statusBarPaddingStart : statusBarPaddingEnd, + 0); + + findViewById(R.id.notification_lights_out).setPadding(0, statusBarPaddingStart, 0, 0); + setLayoutParams(layoutParams); } -- cgit v1.2.3-59-g8ed1b