Use status_bar_padding_top for status bar elements

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
diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml
index 66c0c5c..416ee81 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 8676767..b27d096 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
@@ -26,7 +26,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 6fb5590..818d1d7 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/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
index 977a307..7c41bcd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@@ -125,6 +125,7 @@
     @Override
     protected void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
+        updateResources();
 
         // May trigger cutout space layout-ing
         if (updateOrientationAndCutout()) {
@@ -298,6 +299,24 @@
         ViewGroup.LayoutParams layoutParams = getLayoutParams();
         mStatusBarHeight = getResources().getDimensionPixelSize(R.dimen.status_bar_height);
         layoutParams.height = mStatusBarHeight - waterfallTopInset;
+
+        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);
+
+        View sbContents = findViewById(R.id.status_bar_contents);
+        sbContents.setPaddingRelative(
+                statusBarPaddingStart,
+                statusBarPaddingTop,
+                statusBarPaddingEnd,
+                0);
+
+        findViewById(R.id.notification_lights_out)
+                .setPaddingRelative(0, statusBarPaddingStart, 0, 0);
+
         setLayoutParams(layoutParams);
     }