MediaRouter: Implement chevron/caret animation
Bug: 23970688
Change-Id: I2f592750b0080395ad41fdc4c089892645129c99
diff --git a/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_down_black.png b/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_down_black.png
deleted file mode 100644
index 3d7f83f..0000000
--- a/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_down_black.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_down_white.png b/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_down_white.png
deleted file mode 100644
index bbb4fb4..0000000
--- a/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_down_white.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_up_black.png b/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_up_black.png
deleted file mode 100644
index 57139a7..0000000
--- a/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_up_black.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_up_white.png b/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_up_white.png
deleted file mode 100644
index dea8988..0000000
--- a/v7/mediarouter/res/drawable-hdpi/ic_keyboard_arrow_up_white.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_down_black.png b/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_down_black.png
deleted file mode 100644
index 5b1fa06..0000000
--- a/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_down_black.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_down_white.png b/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_down_white.png
deleted file mode 100644
index ef8a4b6..0000000
--- a/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_down_white.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_up_black.png b/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_up_black.png
deleted file mode 100644
index 08c16a3..0000000
--- a/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_up_black.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_up_white.png b/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_up_white.png
deleted file mode 100644
index a2e4baa..0000000
--- a/v7/mediarouter/res/drawable-mdpi/ic_keyboard_arrow_up_white.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_down_black.png b/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_down_black.png
deleted file mode 100644
index 94016f4..0000000
--- a/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_down_black.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_down_white.png b/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_down_white.png
deleted file mode 100644
index 058cebb..0000000
--- a/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_down_white.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_up_black.png b/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_up_black.png
deleted file mode 100644
index 323360e..0000000
--- a/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_up_black.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_up_white.png b/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_up_white.png
deleted file mode 100644
index ae36d91..0000000
--- a/v7/mediarouter/res/drawable-xhdpi/ic_keyboard_arrow_up_white.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_down_black.png b/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_down_black.png
deleted file mode 100644
index 17811ae..0000000
--- a/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_down_black.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_down_white.png b/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_down_white.png
deleted file mode 100644
index f9622b7..0000000
--- a/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_down_white.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_up_black.png b/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_up_black.png
deleted file mode 100644
index 748ed3f..0000000
--- a/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_up_black.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_up_white.png b/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_up_white.png
deleted file mode 100644
index ce4aa56..0000000
--- a/v7/mediarouter/res/drawable-xxhdpi/ic_keyboard_arrow_up_white.png
+++ /dev/null
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00000.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00000.png
new file mode 100644
index 0000000..16e4cbc
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00000.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00001.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00001.png
new file mode 100644
index 0000000..6cc54b6
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00001.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00002.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00002.png
new file mode 100644
index 0000000..ae4f8fb
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00002.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00003.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00003.png
new file mode 100644
index 0000000..cd3ffdb
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00003.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00004.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00004.png
new file mode 100644
index 0000000..2285ec7
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00004.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00005.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00005.png
new file mode 100644
index 0000000..8130cb1
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00005.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00006.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00006.png
new file mode 100644
index 0000000..4369a3d
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00006.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00007.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00007.png
new file mode 100644
index 0000000..301e6c7
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00007.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00008.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00008.png
new file mode 100644
index 0000000..442cc82
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00008.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00009.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00009.png
new file mode 100644
index 0000000..78763f6
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00009.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00010.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00010.png
new file mode 100644
index 0000000..1ea59a8
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00010.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00011.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00011.png
new file mode 100644
index 0000000..77ea83a
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00011.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00012.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00012.png
new file mode 100644
index 0000000..4e742f5
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00012.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00013.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00013.png
new file mode 100644
index 0000000..fa49b62
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00013.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00014.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00014.png
new file mode 100644
index 0000000..dc477a2
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00014.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00015.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00015.png
new file mode 100644
index 0000000..dd85400
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_collapse_00015.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00000.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00000.png
new file mode 100644
index 0000000..dd85400
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00000.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00001.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00001.png
new file mode 100644
index 0000000..2586aa0
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00001.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00002.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00002.png
new file mode 100644
index 0000000..4022000
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00002.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00003.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00003.png
new file mode 100644
index 0000000..358b428
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00003.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00004.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00004.png
new file mode 100644
index 0000000..1da8c49
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00004.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00005.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00005.png
new file mode 100644
index 0000000..342d6c7
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00005.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00006.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00006.png
new file mode 100644
index 0000000..738bddd
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00006.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00007.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00007.png
new file mode 100644
index 0000000..48192c4
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00007.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00008.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00008.png
new file mode 100644
index 0000000..ff1a374
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00008.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00009.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00009.png
new file mode 100644
index 0000000..c13afcd
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00009.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00010.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00010.png
new file mode 100644
index 0000000..dde5939
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00010.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00011.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00011.png
new file mode 100644
index 0000000..5c60a08
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00011.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00012.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00012.png
new file mode 100644
index 0000000..5d75964
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00012.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00013.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00013.png
new file mode 100644
index 0000000..cf1c1cd
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00013.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00014.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00014.png
new file mode 100644
index 0000000..12ccc03
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00014.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00015.png b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00015.png
new file mode 100644
index 0000000..16e4cbc
--- /dev/null
+++ b/v7/mediarouter/res/drawable-xxxhdpi/ic_expand_00015.png
Binary files differ
diff --git a/v7/mediarouter/res/drawable/ic_collapse.xml b/v7/mediarouter/res/drawable/ic_collapse.xml
new file mode 100644
index 0000000..143e862
--- /dev/null
+++ b/v7/mediarouter/res/drawable/ic_collapse.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
+ android:oneshot="true">
+ <item android:drawable="@drawable/ic_collapse_00000" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00001" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00002" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00003" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00004" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00005" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00006" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00007" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00008" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00009" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00010" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00011" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00012" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00013" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00014" android:duration="13" />
+ <item android:drawable="@drawable/ic_collapse_00015" android:duration="13" />
+</animation-list>
diff --git a/v7/mediarouter/res/drawable/ic_expand.xml b/v7/mediarouter/res/drawable/ic_expand.xml
new file mode 100644
index 0000000..2bd29ae
--- /dev/null
+++ b/v7/mediarouter/res/drawable/ic_expand.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
+ android:oneshot="true">
+ <item android:drawable="@drawable/ic_expand_00000" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00001" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00002" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00003" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00004" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00005" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00006" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00007" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00008" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00009" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00010" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00011" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00012" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00013" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00014" android:duration="13" />
+ <item android:drawable="@drawable/ic_expand_00015" android:duration="13" />
+</animation-list>
diff --git a/v7/mediarouter/res/layout/mr_volume_control.xml b/v7/mediarouter/res/layout/mr_volume_control.xml
index 996a69f..18d7864 100644
--- a/v7/mediarouter/res/layout/mr_volume_control.xml
+++ b/v7/mediarouter/res/layout/mr_volume_control.xml
@@ -15,27 +15,29 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:minHeight="48dp"
- android:gravity="center_vertical"
- android:paddingLeft="24dp"
- android:paddingRight="12dp"
- android:background="?attr/colorPrimary">
- <ImageView android:layout_width="24dp"
- android:layout_height="24dp"
- android:src="?attr/mediaRouteAudioTrackDrawable"
- android:gravity="center"
- android:scaleType="center" />
- <android.support.v7.app.MediaRouteVolumeSlider android:id="@+id/mr_volume_slider"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1" />
- <ImageButton android:id="@+id/mr_group_expand_collapse"
- android:layout_width="48dp"
- android:layout_height="48dp"
- android:contentDescription="@string/mr_controller_expand_group"
- android:src="?attr/mediaRouteExpandGroupDrawable"
- android:background="?attr/selectableItemBackgroundBorderless"
- android:visibility="gone" />
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="48dp"
+ android:gravity="center_vertical"
+ android:paddingLeft="24dp"
+ android:paddingRight="12dp"
+ android:background="?attr/colorPrimary">
+ <ImageView
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:src="?attr/mediaRouteAudioTrackDrawable"
+ android:gravity="center"
+ android:scaleType="center"/>
+ <android.support.v7.app.MediaRouteVolumeSlider
+ android:id="@+id/mr_volume_slider"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"/>
+ <android.support.v7.app.MediaRouteExpandCollapseButton
+ android:id="@+id/mr_group_expand_collapse"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:padding="12dp"
+ android:background="?attr/selectableItemBackgroundBorderless"
+ android:visibility="gone"/>
</LinearLayout>
diff --git a/v7/mediarouter/res/values/themes.xml b/v7/mediarouter/res/values/themes.xml
index 7f46da7..4fe12cf 100644
--- a/v7/mediarouter/res/values/themes.xml
+++ b/v7/mediarouter/res/values/themes.xml
@@ -37,8 +37,6 @@
<item name="mediaRouteControllerTitleTextStyle">@style/Widget.MediaRouter.ControllerText.Title.Dark</item>
<item name="mediaRouteControllerPrimaryTextStyle">@style/Widget.MediaRouter.ControllerText.Primary.Dark</item>
<item name="mediaRouteControllerSecondaryTextStyle">@style/Widget.MediaRouter.ControllerText.Secondary.Dark</item>
- <item name="mediaRouteExpandGroupDrawable">@drawable/ic_keyboard_arrow_down_white</item>
- <item name="mediaRouteCollapseGroupDrawable">@drawable/ic_keyboard_arrow_up_white</item>
</style>
<style name="Theme.MediaRouter.LightControlPanel">
@@ -48,8 +46,6 @@
<item name="mediaRouteAudioTrackDrawable">@drawable/ic_audiotrack_light</item>
<item name="mediaRouteControllerPrimaryTextStyle">@style/Widget.MediaRouter.ControllerText.Primary.Light</item>
<item name="mediaRouteControllerSecondaryTextStyle">@style/Widget.MediaRouter.ControllerText.Secondary.Light</item>
- <item name="mediaRouteExpandGroupDrawable">@drawable/ic_keyboard_arrow_down_black</item>
- <item name="mediaRouteCollapseGroupDrawable">@drawable/ic_keyboard_arrow_up_black</item>
</style>
<style name="Theme.MediaRouter.Light">
@@ -72,8 +68,6 @@
<item name="mediaRouteControllerTitleTextStyle">@style/Widget.MediaRouter.ControllerText.Title.Light</item>
<item name="mediaRouteControllerPrimaryTextStyle">@style/Widget.MediaRouter.ControllerText.Primary.Light</item>
<item name="mediaRouteControllerSecondaryTextStyle">@style/Widget.MediaRouter.ControllerText.Secondary.Light</item>
- <item name="mediaRouteExpandGroupDrawable">@drawable/ic_keyboard_arrow_down_black</item>
- <item name="mediaRouteCollapseGroupDrawable">@drawable/ic_keyboard_arrow_up_black</item>
</style>
<style name="Theme.MediaRouter.Light.DarkControlPanel">
@@ -83,8 +77,6 @@
<item name="mediaRouteAudioTrackDrawable">@drawable/ic_audiotrack</item>
<item name="mediaRouteControllerPrimaryTextStyle">@style/Widget.MediaRouter.ControllerText.Primary.Dark</item>
<item name="mediaRouteControllerSecondaryTextStyle">@style/Widget.MediaRouter.ControllerText.Secondary.Dark</item>
- <item name="mediaRouteExpandGroupDrawable">@drawable/ic_keyboard_arrow_down_white</item>
- <item name="mediaRouteCollapseGroupDrawable">@drawable/ic_keyboard_arrow_up_white</item>
</style>
</resources>
diff --git a/v7/mediarouter/src/android/support/v7/app/MediaRouteControllerDialog.java b/v7/mediarouter/src/android/support/v7/app/MediaRouteControllerDialog.java
index 69132d8..b07189e 100644
--- a/v7/mediarouter/src/android/support/v7/app/MediaRouteControllerDialog.java
+++ b/v7/mediarouter/src/android/support/v7/app/MediaRouteControllerDialog.java
@@ -21,12 +21,10 @@
import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
-import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
@@ -105,7 +103,7 @@
private Button mStopCastingButton;
private ImageButton mPlayPauseButton;
private ImageButton mCloseButton;
- private ImageButton mGroupExpandCollapseButton;
+ private MediaRouteExpandCollapseButton mGroupExpandCollapseButton;
private FrameLayout mCustomControlLayout;
private FrameLayout mDefaultControlLayout;
@@ -313,34 +311,18 @@
mVolumeChangeListener = new VolumeChangeListener();
mVolumeSlider.setOnSeekBarChangeListener(mVolumeChangeListener);
- TypedArray styledAttributes = getContext().obtainStyledAttributes(new int[] {
- R.attr.mediaRouteExpandGroupDrawable,
- R.attr.mediaRouteCollapseGroupDrawable
- });
- final Drawable expandGroupDrawable = styledAttributes.getDrawable(0);
- final Drawable collapseGroupDrawable = styledAttributes.getDrawable(1);
- styledAttributes.recycle();
-
- final String expandGroupDescription = getContext().getString(
- R.string.mr_controller_expand_group);
- final String collapseGroupDescription = getContext().getString(
- R.string.mr_controller_collapse_group);
-
- mVolumeGroupList = (ListView)findViewById(R.id.mr_volume_group_list);
- mGroupExpandCollapseButton = (ImageButton) findViewById(R.id.mr_group_expand_collapse);
+ mVolumeGroupList = (ListView) findViewById(R.id.mr_volume_group_list);
+ mGroupExpandCollapseButton =
+ (MediaRouteExpandCollapseButton) findViewById(R.id.mr_group_expand_collapse);
mGroupExpandCollapseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mIsGroupExpanded = !mIsGroupExpanded;
if (mIsGroupExpanded) {
- mGroupExpandCollapseButton.setImageDrawable(collapseGroupDrawable);
- mGroupExpandCollapseButton.setContentDescription(collapseGroupDescription);
mVolumeGroupList.setVisibility(View.VISIBLE);
mVolumeGroupList.setAdapter(
new VolumeGroupAdapter(getContext(), getGroup().getRoutes()));
} else {
- mGroupExpandCollapseButton.setImageDrawable(expandGroupDrawable);
- mGroupExpandCollapseButton.setContentDescription(expandGroupDescription);
mVolumeGroupList.setVisibility(View.GONE);
}
updateLayoutHeight();
diff --git a/v7/mediarouter/src/android/support/v7/app/MediaRouteExpandCollapseButton.java b/v7/mediarouter/src/android/support/v7/app/MediaRouteExpandCollapseButton.java
new file mode 100644
index 0000000..6a68846
--- /dev/null
+++ b/v7/mediarouter/src/android/support/v7/app/MediaRouteExpandCollapseButton.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.support.v7.app;
+
+import android.content.Context;
+import android.graphics.ColorFilter;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffColorFilter;
+import android.graphics.drawable.AnimationDrawable;
+import android.support.v4.content.ContextCompat;
+import android.support.v7.mediarouter.R;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.ImageButton;
+
+/**
+ * Chevron/Caret button to expand/collapse group volume list with animation.
+ */
+class MediaRouteExpandCollapseButton extends ImageButton {
+ private final AnimationDrawable mExpandAnimationDrawable;
+ private final AnimationDrawable mCollapseAnimationDrawable;
+ private final String mExpandGroupDescription;
+ private final String mCollapseGroupDescription;
+ private boolean mIsGroupExpanded;
+ private OnClickListener mListener;
+
+ public MediaRouteExpandCollapseButton(Context context) {
+ this(context, null);
+ }
+
+ public MediaRouteExpandCollapseButton(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public MediaRouteExpandCollapseButton(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ mExpandAnimationDrawable = (AnimationDrawable) ContextCompat.getDrawable(
+ context, R.drawable.ic_expand);
+ mCollapseAnimationDrawable = (AnimationDrawable) ContextCompat.getDrawable(
+ context, R.drawable.ic_collapse);
+
+ ColorFilter filter = new PorterDuffColorFilter(
+ MediaRouterThemeHelper.getControllerColor(context), PorterDuff.Mode.SRC_IN);
+ mExpandAnimationDrawable.setColorFilter(filter);
+ mCollapseAnimationDrawable.setColorFilter(filter);
+
+ mExpandGroupDescription = context.getString(R.string.mr_controller_expand_group);
+ mCollapseGroupDescription = context.getString(R.string.mr_controller_collapse_group);
+
+ setImageDrawable(mExpandAnimationDrawable.getFrame(0));
+ setContentDescription(mExpandGroupDescription);
+
+ super.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ mIsGroupExpanded = !mIsGroupExpanded;
+ if (mIsGroupExpanded) {
+ setImageDrawable(mExpandAnimationDrawable);
+ mExpandAnimationDrawable.start();
+ setContentDescription(mCollapseGroupDescription);
+ } else {
+ setImageDrawable(mCollapseAnimationDrawable);
+ mCollapseAnimationDrawable.start();
+ setContentDescription(mExpandGroupDescription);
+ }
+ if (mListener != null) {
+ mListener.onClick(view);
+ }
+ }
+ });
+ }
+
+ @Override
+ public void setOnClickListener(OnClickListener listener) {
+ mListener = listener;
+ }
+}
diff --git a/v7/mediarouter/src/android/support/v7/app/MediaRouteVolumeSlider.java b/v7/mediarouter/src/android/support/v7/app/MediaRouteVolumeSlider.java
index 9e650fc..b583b13 100644
--- a/v7/mediarouter/src/android/support/v7/app/MediaRouteVolumeSlider.java
+++ b/v7/mediarouter/src/android/support/v7/app/MediaRouteVolumeSlider.java
@@ -18,7 +18,6 @@
import android.content.Context;
import android.content.res.TypedArray;
-import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
@@ -48,7 +47,7 @@
super(context, attrs, defStyleAttr);
mThumb = ContextCompat.getDrawable(context, R.drawable.mr_seekbar_thumb);
setThumb(mThumb);
- int color = MediaRouterThemeHelper.getVolumeSliderColor(context);
+ int color = MediaRouterThemeHelper.getControllerColor(context);
ColorFilter colorFilter = new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN);
getProgressDrawable().setColorFilter(colorFilter);
mThumb.setColorFilter(colorFilter);
diff --git a/v7/mediarouter/src/android/support/v7/app/MediaRouterThemeHelper.java b/v7/mediarouter/src/android/support/v7/app/MediaRouterThemeHelper.java
index ee6a3da..aa0ac32 100644
--- a/v7/mediarouter/src/android/support/v7/app/MediaRouterThemeHelper.java
+++ b/v7/mediarouter/src/android/support/v7/app/MediaRouterThemeHelper.java
@@ -55,7 +55,7 @@
return res != 0 ? context.getResources().getDrawable(res) : null;
}
- public static int getVolumeSliderColor(Context context) {
+ public static int getControllerColor(Context context) {
return isPrimaryColorLight(context) ? Color.BLACK : Color.WHITE;
}