diff --git a/packages/SystemUI/res/layout-land/volume_dialog.xml b/packages/SystemUI/res/layout-land/volume_dialog.xml
index 237dc02e5d8c3..1a4e81279be4b 100644
--- a/packages/SystemUI/res/layout-land/volume_dialog.xml
+++ b/packages/SystemUI/res/layout-land/volume_dialog.xml
@@ -16,6 +16,7 @@
-
+
+ android:layout_marginRight="@dimen/volume_dialog_panel_transparent_padding_right"
+ android:orientation="vertical"
+ android:clipToPadding="false"
+ android:clipChildren="false">
+
-
+ android:background="@drawable/volume_background">
-
-
-
-
-
-
-
-
-
-
-
-
+
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/volume_dialog_stream_padding"
+ android:layout_marginTop="6dp"/>
+ android:clipToPadding="false" >
+ android:orientation="horizontal"
+ android:layout_marginTop="@dimen/volume_row_slider_padding_start">
-
+
+
+
+
-
+
\ No newline at end of file
diff --git a/packages/SystemUI/res/values-land/dimens.xml b/packages/SystemUI/res/values-land/dimens.xml
index c6931e82ba70c..215698dd1884a 100644
--- a/packages/SystemUI/res/values-land/dimens.xml
+++ b/packages/SystemUI/res/values-land/dimens.xml
@@ -45,6 +45,7 @@
136dp
12dp
+ 128dp
25dp
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
index b9f896e46913b..98d8b29dc1646 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
@@ -1752,7 +1752,21 @@ public class VolumeDialogImpl implements VolumeDialog,
}
final Rect bounds = mRingerAndRowsContainerBackground.copyBounds();
- bounds.top = (int) (drawerClosedAmount * getRingerDrawerOpenExtraSize());
+
+ if (!isLandscape()) {
+ // In portrait, the background should fill the full width, but only go up to the ringer
+ // icon's top. We'll extend it all the way to the top of the container when the ringer
+ // drawer opens.
+ bounds.left = 0;
+ bounds.top = (int) (drawerClosedAmount * getRingerDrawerOpenExtraSize());
+ } else {
+ // In landscape, the background should be inset by the size of the open drawer, since it
+ // opens sideways. It should extend to the top of the container since we haven't left
+ // space for the drawer to open upward.
+ bounds.left = getRingerDrawerOpenExtraSize();
+ bounds.top = 0;
+ }
+
mRingerAndRowsContainerBackground.setBounds(bounds);
}