Workaround for focus issues on API levels less than 26

Issue: #9061
PiperOrigin-RevId: 380640601
This commit is contained in:
olly 2021-06-21 20:38:25 +01:00 committed by Oliver Woodman
parent 81c542b6a7
commit 6f686be751
2 changed files with 12 additions and 0 deletions

View file

@ -41,6 +41,10 @@
* Remove `CastPlayer` specific playlist manipulation methods. Use
`setMediaItems`, `addMediaItems`, `removeMediaItem` and `moveMediaItem`
instead.
* UI
* Fix focusability of `StyledPlayerView` and `StyledPlayerControlView`
popup menus on API levels prior to 26
([#9061](https://github.com/google/ExoPlayer/issues/9061)).
* Video:
* Fix `IncorrectContextUseViolation` strict mode warning on Android 11
([#8246](https://github.com/google/ExoPlayer/pull/8246)).

View file

@ -1926,6 +1926,10 @@ public class StyledPlayerControlView extends FrameLayout {
public SettingViewHolder(View itemView) {
super(itemView);
if (Util.SDK_INT < 26) {
// Workaround for https://github.com/google/ExoPlayer/issues/9061.
itemView.setFocusable(true);
}
mainTextView = itemView.findViewById(R.id.exo_main_text);
subTextView = itemView.findViewById(R.id.exo_sub_text);
iconView = itemView.findViewById(R.id.exo_icon);
@ -2252,6 +2256,10 @@ public class StyledPlayerControlView extends FrameLayout {
public SubSettingViewHolder(View itemView) {
super(itemView);
if (Util.SDK_INT < 26) {
// Workaround for https://github.com/google/ExoPlayer/issues/9061.
itemView.setFocusable(true);
}
textView = itemView.findViewById(R.id.exo_text);
checkView = itemView.findViewById(R.id.exo_check);
}