diff options
author | Evan Laird <evanlaird@google.com> | 2020-03-16 18:16:11 -0400 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-03-26 16:14:11 +0000 |
commit | 515575813eb17f771e08812d839cea47707097e0 (patch) | |
tree | 9768484ffe6857a1b72be66d0137d3c33b8b5c47 | |
parent | da5fdba9515c9a2097aa6425fcf33745dc46c713 (diff) | |
download | base-515575813eb17f771e08812d839cea47707097e0.tar.gz |
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
(cherry picked from commit bc95ab7a3914ba71b48ce046a9a926e9e4f5a6f2)
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" > <FrameLayout android:id="@+id/system_icons_container" @@ -66,6 +67,7 @@ android:id="@+id/keyguard_carrier_text" android:layout_width="match_parent" android:layout_height="match_parent" + android:paddingTop="@dimen/status_bar_padding_top" android:layout_marginStart="@dimen/keyguard_carrier_text_margin" android:layout_toStartOf="@id/system_icons_container" android:gravity="center_vertical" diff --git a/packages/SystemUI/res/layout/quick_status_bar_header_system_icons.xml b/packages/SystemUI/res/layout/quick_status_bar_header_system_icons.xml index 54fb2168dfa9..615749a44561 100644 --- a/packages/SystemUI/res/layout/quick_status_bar_header_system_icons.xml +++ b/packages/SystemUI/res/layout/quick_status_bar_header_system_icons.xml @@ -25,7 +25,8 @@ android:orientation="horizontal" android:clickable="true" android:paddingStart="@dimen/status_bar_padding_start" - android:paddingEnd="@dimen/status_bar_padding_end" > + android:paddingEnd="@dimen/status_bar_padding_end" + android:paddingTop="@dimen/status_bar_padding_top" > <com.android.systemui.statusbar.policy.Clock android:id="@+id/clock" diff --git a/packages/SystemUI/res/layout/system_icons.xml b/packages/SystemUI/res/layout/system_icons.xml index 6fb5590df6ed..818d1d77177b 100644 --- a/packages/SystemUI/res/layout/system_icons.xml +++ b/packages/SystemUI/res/layout/system_icons.xml @@ -26,7 +26,6 @@ android:layout_weight="1" android:layout_height="match_parent" android:paddingEnd="@dimen/signal_cluster_battery_padding" - android:paddingTop="@dimen/status_bar_padding_top" android:gravity="center_vertical" android:orientation="horizontal"/> @@ -36,4 +35,4 @@ android:clipToPadding="false" android:clipChildren="false" systemui:textAppearance="@style/TextAppearance.StatusBar.Clock" /> -</LinearLayout>
\ No newline at end of file +</LinearLayout> 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); } |