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
This commit is contained in:
Evan Laird
2020-03-16 18:16:11 -04:00
parent 07808d1477
commit bc95ab7a39
5 changed files with 33 additions and 6 deletions

View File

@@ -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"

View File

@@ -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"

View File

@@ -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>
</LinearLayout>

View File

@@ -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);

View File

@@ -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);
}