diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index f12907b972..4febfc7466 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -11,8 +11,7 @@
* Add `LiveConfiguration` to `MediaItem` to allow media-specific live
offset and live playback speed settings. The same settings can be set
for all `MediaItems` in `DefaultMediaSourceFactory`.
- * Add `targetLiveOffsetUs` parameter to
- `LoadControl.shouldStartPlayback`.
+ * Add `targetLiveOffsetUs` parameter to `LoadControl.shouldStartPlayback`.
* Verify correct thread usage in `SimpleExoPlayer` by default. Opt-out is
still possible until the next major release using
`setThrowsWhenUsingWrongThread(false)`
@@ -71,13 +70,14 @@
enough space.
* Update StyledPlayer's control overlay scrim from 30% opacity to 60%
opacity for Accessibility requirements.
+ * Switch `StyledPlayerControlView` button controls to borderless ripples.
* DRM:
* Fix playback failure when switching from PlayReady protected content to
Widevine or Clearkey protected content in a playlist.
* Downloads:
- * Fix crash in `DownloadManager` that could occur when adding a stopped
- download with the same ID as a download currently being removed
- ([#8419](https://github.com/google/ExoPlayer/issues/8419)).
+ * Fix crash in `DownloadManager` that could occur when adding a stopped
+ download with the same ID as a download currently being removed
+ ([#8419](https://github.com/google/ExoPlayer/issues/8419)).
* Analytics:
* Pass a `DecoderReuseEvaluation` to `AnalyticsListener`'s
`onVideoInputFormatChanged` and `onAudioInputFormatChanged` methods. The
diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerControlViewLayoutManager.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerControlViewLayoutManager.java
index 5399435164..4045559ccb 100644
--- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerControlViewLayoutManager.java
+++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerControlViewLayoutManager.java
@@ -571,9 +571,16 @@ import java.util.List;
styledPlayerControlView.getHeight()
- styledPlayerControlView.getPaddingBottom()
- styledPlayerControlView.getPaddingTop();
+
+ int centerControlWidth =
+ getWidthWithMargins(centerControls)
+ - (centerControls != null
+ ? (centerControls.getPaddingLeft() + centerControls.getPaddingRight())
+ : 0);
+
int defaultModeMinimumWidth =
Math.max(
- getWidthWithMargins(centerControls),
+ centerControlWidth,
getWidthWithMargins(timeView) + getWidthWithMargins(overflowShowButton));
int defaultModeMinimumHeight =
getHeightWithMargins(centerControls) + 2 * getHeightWithMargins(bottomBar);
diff --git a/library/ui/src/main/res/drawable-v21/exo_ripple_ffwd.xml b/library/ui/src/main/res/drawable-v21/exo_ripple_ffwd.xml
deleted file mode 100644
index 5e4dd5550f..0000000000
--- a/library/ui/src/main/res/drawable-v21/exo_ripple_ffwd.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- -
-
-
-
-
-
-
diff --git a/library/ui/src/main/res/drawable/exo_ripple_ffwd.xml b/library/ui/src/main/res/drawable/exo_ripple_ffwd.xml
deleted file mode 100644
index 9f7e1fd027..0000000000
--- a/library/ui/src/main/res/drawable/exo_ripple_ffwd.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/library/ui/src/main/res/drawable/exo_ripple_rew.xml b/library/ui/src/main/res/drawable/exo_ripple_rew.xml
deleted file mode 100644
index 5562b1352c..0000000000
--- a/library/ui/src/main/res/drawable/exo_ripple_rew.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/library/ui/src/main/res/layout-v23/exo_styled_player_control_ffwd_button.xml b/library/ui/src/main/res/layout-v23/exo_styled_player_control_ffwd_button.xml
new file mode 100644
index 0000000000..18166f71f6
--- /dev/null
+++ b/library/ui/src/main/res/layout-v23/exo_styled_player_control_ffwd_button.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/library/ui/src/main/res/layout-v23/exo_styled_player_control_rewind_button.xml b/library/ui/src/main/res/layout-v23/exo_styled_player_control_rewind_button.xml
new file mode 100644
index 0000000000..cbc507cc99
--- /dev/null
+++ b/library/ui/src/main/res/layout-v23/exo_styled_player_control_rewind_button.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/library/ui/src/main/res/layout/exo_styled_player_control_ffwd_button.xml b/library/ui/src/main/res/layout/exo_styled_player_control_ffwd_button.xml
new file mode 100644
index 0000000000..f4f7dd6e91
--- /dev/null
+++ b/library/ui/src/main/res/layout/exo_styled_player_control_ffwd_button.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/library/ui/src/main/res/layout/exo_styled_player_control_rewind_button.xml b/library/ui/src/main/res/layout/exo_styled_player_control_rewind_button.xml
new file mode 100644
index 0000000000..27d51f0da8
--- /dev/null
+++ b/library/ui/src/main/res/layout/exo_styled_player_control_rewind_button.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/library/ui/src/main/res/layout/exo_styled_player_control_view.xml b/library/ui/src/main/res/layout/exo_styled_player_control_view.xml
index 12821d1248..bdc42c68b5 100644
--- a/library/ui/src/main/res/layout/exo_styled_player_control_view.xml
+++ b/library/ui/src/main/res/layout/exo_styled_player_control_view.xml
@@ -119,23 +119,25 @@
-
+ android:background="@android:color/transparent"
+ android:gravity="center"
+ android:padding="@dimen/exo_styled_controls_padding">
+
-
+
-
+
diff --git a/library/ui/src/main/res/values-v21/dimens.xml b/library/ui/src/main/res/values-v21/dimens.xml
new file mode 100644
index 0000000000..eaf17b80ee
--- /dev/null
+++ b/library/ui/src/main/res/values-v21/dimens.xml
@@ -0,0 +1,18 @@
+
+
+
+ 24dp
+
diff --git a/library/ui/src/main/res/drawable-v21/exo_ripple_rew.xml b/library/ui/src/main/res/values-v21/styles.xml
similarity index 63%
rename from library/ui/src/main/res/drawable-v21/exo_ripple_rew.xml
rename to library/ui/src/main/res/values-v21/styles.xml
index ee43206b4a..0d9eb46568 100644
--- a/library/ui/src/main/res/drawable-v21/exo_ripple_rew.xml
+++ b/library/ui/src/main/res/values-v21/styles.xml
@@ -14,13 +14,10 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
- -
-
-
-
-
-
-
+
+
+
diff --git a/library/ui/src/main/res/values/colors.xml b/library/ui/src/main/res/values/colors.xml
index 64ad87ebad..0aa4ce9871 100644
--- a/library/ui/src/main/res/values/colors.xml
+++ b/library/ui/src/main/res/values/colors.xml
@@ -15,8 +15,6 @@
limitations under the License.
-->
- #808080
- #80808080
#ffffff
#B3ffffff
#B3000000
diff --git a/library/ui/src/main/res/values/dimens.xml b/library/ui/src/main/res/values/dimens.xml
index 1dd966605a..2028d62edb 100644
--- a/library/ui/src/main/res/values/dimens.xml
+++ b/library/ui/src/main/res/values/dimens.xml
@@ -44,6 +44,7 @@
60dp
10dp
10dp
+ 0dp
4dp
32dp
diff --git a/library/ui/src/main/res/values/styles.xml b/library/ui/src/main/res/values/styles.xml
index 7133b78f70..a7d44ec59b 100644
--- a/library/ui/src/main/res/values/styles.xml
+++ b/library/ui/src/main/res/values/styles.xml
@@ -89,7 +89,7 @@