diff --git a/packages/SystemUI/res/drawable-television/volume_row_seekbar.xml b/packages/SystemUI/res/drawable-television/volume_row_seekbar.xml
new file mode 100644
index 0000000000000..e49fc15fbd7fe
--- /dev/null
+++ b/packages/SystemUI/res/drawable-television/volume_row_seekbar.xml
@@ -0,0 +1,37 @@
+
+
+
+ -
+
+
-
+
+
+
+
+
+
+
+
+ -
+
+
+
diff --git a/packages/SystemUI/res/drawable-television/volume_row_seekbar_progress.xml b/packages/SystemUI/res/drawable-television/volume_row_seekbar_progress.xml
new file mode 100644
index 0000000000000..bce193a564a02
--- /dev/null
+++ b/packages/SystemUI/res/drawable-television/volume_row_seekbar_progress.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ -
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/tv_volume_row_seek_bar.xml b/packages/SystemUI/res/drawable/tv_volume_row_seek_bar.xml
deleted file mode 100644
index fe76b639f15ab..0000000000000
--- a/packages/SystemUI/res/drawable/tv_volume_row_seek_bar.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
diff --git a/packages/SystemUI/res/drawable/volume_row_seekbar.xml b/packages/SystemUI/res/drawable/volume_row_seekbar.xml
index b0e0ed5079e62..a845e73eb3a45 100644
--- a/packages/SystemUI/res/drawable/volume_row_seekbar.xml
+++ b/packages/SystemUI/res/drawable/volume_row_seekbar.xml
@@ -25,9 +25,9 @@
-
-
+
-
+
-
\ No newline at end of file
+
diff --git a/packages/SystemUI/res/layout-land-television/volume_dialog_row.xml b/packages/SystemUI/res/layout-land-television/volume_dialog_row.xml
index 4f6cb0140d099..0dec981bd4ae7 100644
--- a/packages/SystemUI/res/layout-land-television/volume_dialog_row.xml
+++ b/packages/SystemUI/res/layout-land-television/volume_dialog_row.xml
@@ -17,7 +17,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:tag="row"
android:layout_width="wrap_content"
- android:layout_height="@dimen/volume_dialog_row_height"
+ android:layout_height="@dimen/volume_dialog_panel_height"
android:background="@android:color/transparent"
android:clipChildren="false"
android:clipToPadding="false"
@@ -54,18 +54,18 @@
+ android:layout_height="@dimen/volume_dialog_panel_height">
diff --git a/packages/SystemUI/res/layout/volume_dialog_row.xml b/packages/SystemUI/res/layout/volume_dialog_row.xml
index fda59b50104a3..1d5bca92ddb06 100644
--- a/packages/SystemUI/res/layout/volume_dialog_row.xml
+++ b/packages/SystemUI/res/layout/volume_dialog_row.xml
@@ -54,6 +54,7 @@
android:layout_width="@dimen/volume_row_slider_height"
android:layout_height="match_parent"
android:layout_gravity="center"
+ android:thumb="@android:color/transparent"
android:rotation="270" />
diff --git a/packages/SystemUI/res/values-land-television/dimens.xml b/packages/SystemUI/res/values-land-television/dimens.xml
index 95ff59bdf1df2..8c905739b9919 100644
--- a/packages/SystemUI/res/values-land-television/dimens.xml
+++ b/packages/SystemUI/res/values-land-television/dimens.xml
@@ -16,14 +16,17 @@
- 190dp
- 48dp
+ 190dp
+ 48dp
+ 24dp
24dp
+ 4dp
+ @dimen/volume_dialog_slider_width
+
36dp
36dp
6dp
16sp
- 4dp
24dp
8dp
20dp
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 2062104be2df1..7a9e79d4564ef 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -463,6 +463,10 @@
116dp
+ @dimen/volume_dialog_panel_width
+
+ @dimen/volume_dialog_panel_width_half
+
64dp
20dp
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
index 5dc7006406eea..044d8285b079b 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
@@ -546,9 +546,10 @@ public class VolumeDialogImpl implements VolumeDialog,
row.sliderBgSolid = seekbarBgDrawable.findDrawableByLayerId(
R.id.volume_seekbar_background_solid);
- row.sliderBgIcon = (AlphaTintDrawableWrapper)
- ((RotateDrawable) seekbarBgDrawable.findDrawableByLayerId(
- R.id.volume_seekbar_background_icon)).getDrawable();
+ final Drawable sliderBgIcon = seekbarBgDrawable.findDrawableByLayerId(
+ R.id.volume_seekbar_background_icon);
+ row.sliderBgIcon = sliderBgIcon != null ? (AlphaTintDrawableWrapper)
+ ((RotateDrawable) sliderBgIcon).getDrawable() : null;
final LayerDrawable seekbarProgressDrawable = (LayerDrawable)
((RoundedCornerProgressDrawable) seekbarDrawable.findDrawableByLayerId(
@@ -556,13 +557,12 @@ public class VolumeDialogImpl implements VolumeDialog,
row.sliderProgressSolid = seekbarProgressDrawable.findDrawableByLayerId(
R.id.volume_seekbar_progress_solid);
-
- row.sliderProgressIcon = (AlphaTintDrawableWrapper)
- ((RotateDrawable) seekbarProgressDrawable.findDrawableByLayerId(
- R.id.volume_seekbar_progress_icon)).getDrawable();
+ final Drawable sliderProgressIcon = seekbarProgressDrawable.findDrawableByLayerId(
+ R.id.volume_seekbar_progress_icon);
+ row.sliderProgressIcon = sliderProgressIcon != null ? (AlphaTintDrawableWrapper)
+ ((RotateDrawable) sliderProgressIcon).getDrawable() : null;
row.slider.setProgressDrawable(seekbarDrawable);
- row.slider.setThumb(null);
row.icon = row.view.findViewById(R.id.volume_row_icon);
@@ -1484,10 +1484,14 @@ public class VolumeDialogImpl implements VolumeDialog,
mContext, android.R.attr.colorBackgroundFloating);
row.sliderProgressSolid.setTintList(colorTint);
- row.sliderBgIcon.setTintList(colorTint);
+ if (row.sliderBgIcon != null) {
+ row.sliderBgIcon.setTintList(colorTint);
+ }
row.sliderBgSolid.setTintList(bgTint);
- row.sliderProgressIcon.setTintList(bgTint);
+ if (row.sliderProgressIcon != null) {
+ row.sliderProgressIcon.setTintList(bgTint);
+ }
if (row.icon != null) {
row.icon.setImageTintList(colorTint);
@@ -1878,8 +1882,12 @@ public class VolumeDialogImpl implements VolumeDialog,
icon.setImageResource(iconRes);
}
- sliderProgressIcon.setDrawable(view.getResources().getDrawable(iconRes, theme));
- sliderBgIcon.setDrawable(view.getResources().getDrawable(iconRes, theme));
+ if (sliderProgressIcon != null) {
+ sliderProgressIcon.setDrawable(view.getResources().getDrawable(iconRes, theme));
+ }
+ if (sliderBgIcon != null) {
+ sliderBgIcon.setDrawable(view.getResources().getDrawable(iconRes, theme));
+ }
}
}