diff --git a/RELEASENOTES.md b/RELEASENOTES.md index e0a6694d68..1032af35ba 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -18,6 +18,10 @@ `MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, boolean)` to specify whether the renderer will output metadata early or in sync with the player position. +* UI: + * Ensure TalkBack announces the currently active speed option in the + playback controls menu + ([#10298](https://github.com/google/ExoPlayer/issues/10298)). * RTSP: * Add RTP reader for H263 ([#63](https://github.com/androidx/media/pull/63)). diff --git a/libraries/ui/src/main/java/androidx/media3/ui/PlayerControlView.java b/libraries/ui/src/main/java/androidx/media3/ui/PlayerControlView.java index 7ab349bd1d..8ec6d27498 100644 --- a/libraries/ui/src/main/java/androidx/media3/ui/PlayerControlView.java +++ b/libraries/ui/src/main/java/androidx/media3/ui/PlayerControlView.java @@ -1811,7 +1811,13 @@ public void onBindViewHolder(SubSettingViewHolder holder, int position) { if (position < playbackSpeedTexts.length) { holder.textView.setText(playbackSpeedTexts[position]); } - holder.checkView.setVisibility(position == selectedIndex ? VISIBLE : INVISIBLE); + if (position == selectedIndex) { + holder.itemView.setSelected(true); + holder.checkView.setVisibility(VISIBLE); + } else { + holder.itemView.setSelected(false); + holder.checkView.setVisibility(INVISIBLE); + } holder.itemView.setOnClickListener( v -> { if (position != selectedIndex) {