Fix paddings for user switch and status bar icons.
Bug: 15540707
Change-Id: If7288d032b9625e0fbb5b657afcf680d178e63ee
(cherry picked from commit 5d545e7c89231ac80ab2b666bd83f63bcf54f78f)
diff --git a/packages/SystemUI/res/layout/status_bar_expanded_header.xml b/packages/SystemUI/res/layout/status_bar_expanded_header.xml
index d24d21e..353368b 100644
--- a/packages/SystemUI/res/layout/status_bar_expanded_header.xml
+++ b/packages/SystemUI/res/layout/status_bar_expanded_header.xml
@@ -63,8 +63,9 @@
<ImageButton android:id="@+id/settings_button"
style="@android:style/Widget.Material.Button.Borderless"
android:layout_toStartOf="@id/multi_user_switch"
- android:layout_width="56dp"
+ android:layout_width="48dp"
android:layout_height="@dimen/status_bar_header_height"
+ android:layout_marginStart="8dp"
android:src="@drawable/ic_settings_24dp"
android:contentDescription="@string/accessibility_desc_quick_settings"/>
@@ -72,7 +73,7 @@
android:layout_width="wrap_content"
android:layout_height="@dimen/status_bar_header_height"
android:layout_toStartOf="@id/multi_user_switch"
- android:layout_marginEnd="4dp"
+ android:layout_marginEnd="2dp"
android:layout_marginStart="16dp"
/>
@@ -117,12 +118,11 @@
android:layout_below="@id/clock"
/>
</RelativeLayout>
-
<com.android.keyguard.CarrierText
android:id="@+id/keyguard_carrier_text"
android:layout_width="match_parent"
android:layout_height="@dimen/status_bar_header_height_keyguard"
- android:layout_marginLeft="8dp"
+ android:layout_marginLeft="16dp"
android:layout_toStartOf="@id/system_icons_container"
android:gravity="center_vertical"
android:ellipsize="marquee"
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 7ed3e29..8b8c126 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -330,4 +330,6 @@
phone hints. -->
<dimen name="edge_tap_area_width">48dp</dimen>
+ <!-- end margin for multi user switch in expanded quick settings -->
+ <dimen name="multi_user_switch_expanded_margin">8dp</dimen>
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
index c8ab027..1712124 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
@@ -70,6 +70,8 @@
private int mKeyguardWidth = ViewGroup.LayoutParams.MATCH_PARENT;
private int mNormalWidth;
+ private int mPadding;
+ private int mMultiUserExpandedMargin;
private ActivityStarter mActivityStarter;
private BrightnessController mBrightnessController;
@@ -120,6 +122,10 @@
mKeyguardHeight = getResources().getDimensionPixelSize(
R.dimen.status_bar_header_height_keyguard);
mNormalWidth = getLayoutParams().width;
+ mPadding = getResources().getDimensionPixelSize(R.dimen.notification_side_padding);
+ mMultiUserExpandedMargin =
+ getResources().getDimensionPixelSize(R.dimen.multi_user_switch_expanded_margin);
+
}
public void setActivityStarter(ActivityStarter activityStarter) {
@@ -147,6 +153,8 @@
updateZTranslation();
updateClickTargets();
updateWidth();
+ updatePadding();
+ updateMultiUserSwitch();
if (mQSPanel != null) {
mQSPanel.setExpanded(expanded && !overscrolled);
}
@@ -256,6 +264,21 @@
}
}
+ private void updatePadding() {
+ boolean padded = !mKeyguardShowing || mExpanded;
+ int padding = padded ? mPadding : 0;
+ setPaddingRelative(padding, 0, padding, 0);
+ }
+
+ private void updateMultiUserSwitch() {
+ int marginEnd = !mKeyguardShowing || mExpanded ? mMultiUserExpandedMargin : 0;
+ MarginLayoutParams lp = (MarginLayoutParams) mMultiUserSwitch.getLayoutParams();
+ if (marginEnd != lp.getMarginEnd()) {
+ lp.setMarginEnd(marginEnd);
+ mMultiUserSwitch.setLayoutParams(lp);
+ }
+ }
+
public void setExpansion(float height) {
height = (height - mCollapsedHeight) * EXPANSION_RUBBERBAND_FACTOR + mCollapsedHeight;
if (height < mCollapsedHeight) {
@@ -301,6 +324,8 @@
updateWidth();
updateVisibilities();
updateZTranslation();
+ updatePadding();
+ updateMultiUserSwitch();
}
public void setUserInfoController(UserInfoController userInfoController) {