mirror of
https://github.com/samsonjs/media.git
synced 2026-04-24 14:37:45 +00:00
Use defStyleAttr when obtaining styled attributes in player views
Issue #9024 PiperOrigin-RevId: 395224661
This commit is contained in:
parent
ced4232fd8
commit
28d5b35723
5 changed files with 30 additions and 9 deletions
|
|
@ -9,7 +9,7 @@
|
|||
* Extractors:
|
||||
* Support TS packets without PTS flag
|
||||
([#9294](https://github.com/google/ExoPlayer/issues/9294)).
|
||||
* Video
|
||||
* Video:
|
||||
* Request smaller decoder input buffers for Dolby Vision. This fixes an
|
||||
issue that could cause UHD Dolby Vision playbacks to fail on some
|
||||
devices, including Amazon Fire TV 4K.
|
||||
|
|
@ -18,6 +18,10 @@
|
|||
thrown from `Requirements.isInternetConnectivityValidated` on devices
|
||||
running Android 11
|
||||
([#9002](https://github.com/google/ExoPlayer/issues/9002)).
|
||||
* UI:
|
||||
* Use `defStyleAttr` when obtaining styled attributes in
|
||||
`StyledPlayerView`, `PlayerView` and `PlayerControlView`
|
||||
([#9024](https://github.com/google/ExoPlayer/issues/9024)).
|
||||
* Cast extension:
|
||||
* Implement `CastPlayer.setPlaybackParameters(PlaybackParameters)` to
|
||||
support setting the playback speed
|
||||
|
|
@ -247,6 +251,11 @@
|
|||
([#9183](https://github.com/google/ExoPlayer/issues/9183)).
|
||||
* Allow the timeout to be customised via
|
||||
`RtspMediaSource.Factory.setTimeoutMs`.
|
||||
* Downloads and caching:
|
||||
* Workaround platform issue that can cause a `SecurityException` to be
|
||||
thrown from `Requirements.isInternetConnectivityValidated` on devices
|
||||
running Android 11
|
||||
([#9002](https://github.com/google/ExoPlayer/issues/9002)).
|
||||
|
||||
### 2.14.1 (2021-06-11)
|
||||
|
||||
|
|
|
|||
|
|
@ -377,7 +377,8 @@ public class PlayerControlView extends FrameLayout {
|
|||
TypedArray a =
|
||||
context
|
||||
.getTheme()
|
||||
.obtainStyledAttributes(playbackAttrs, R.styleable.PlayerControlView, 0, 0);
|
||||
.obtainStyledAttributes(
|
||||
playbackAttrs, R.styleable.PlayerControlView, defStyleAttr, /* defStyleRes= */ 0);
|
||||
try {
|
||||
showTimeoutMs = a.getInt(R.styleable.PlayerControlView_show_timeout, showTimeoutMs);
|
||||
controllerLayoutId =
|
||||
|
|
@ -424,8 +425,8 @@ public class PlayerControlView extends FrameLayout {
|
|||
if (customTimeBar != null) {
|
||||
timeBar = customTimeBar;
|
||||
} else if (timeBarPlaceholder != null) {
|
||||
// Propagate attrs as timebarAttrs so that DefaultTimeBar's custom attributes are transferred,
|
||||
// but standard attributes (e.g. background) are not.
|
||||
// Propagate playbackAttrs as timebarAttrs so that DefaultTimeBar's custom attributes are
|
||||
// transferred, but standard attributes (e.g. background) are not.
|
||||
DefaultTimeBar defaultTimeBar = new DefaultTimeBar(context, null, 0, playbackAttrs);
|
||||
defaultTimeBar.setId(R.id.exo_progress);
|
||||
defaultTimeBar.setLayoutParams(timeBarPlaceholder.getLayoutParams());
|
||||
|
|
|
|||
|
|
@ -367,7 +367,11 @@ public class PlayerView extends FrameLayout implements AdViewProvider {
|
|||
boolean controllerHideDuringAds = true;
|
||||
int showBuffering = SHOW_BUFFERING_NEVER;
|
||||
if (attrs != null) {
|
||||
TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.PlayerView, 0, 0);
|
||||
TypedArray a =
|
||||
context
|
||||
.getTheme()
|
||||
.obtainStyledAttributes(
|
||||
attrs, R.styleable.PlayerView, defStyleAttr, /* defStyleRes= */ 0);
|
||||
try {
|
||||
shutterColorSet = a.hasValue(R.styleable.PlayerView_shutter_background_color);
|
||||
shutterColor = a.getColor(R.styleable.PlayerView_shutter_background_color, shutterColor);
|
||||
|
|
|
|||
|
|
@ -491,7 +491,11 @@ public class StyledPlayerControlView extends FrameLayout {
|
|||
TypedArray a =
|
||||
context
|
||||
.getTheme()
|
||||
.obtainStyledAttributes(playbackAttrs, R.styleable.StyledPlayerControlView, 0, 0);
|
||||
.obtainStyledAttributes(
|
||||
playbackAttrs,
|
||||
R.styleable.StyledPlayerControlView,
|
||||
defStyleAttr,
|
||||
/* defStyleRes= */ 0);
|
||||
try {
|
||||
controllerLayoutId =
|
||||
a.getResourceId(
|
||||
|
|
@ -576,8 +580,8 @@ public class StyledPlayerControlView extends FrameLayout {
|
|||
if (customTimeBar != null) {
|
||||
timeBar = customTimeBar;
|
||||
} else if (timeBarPlaceholder != null) {
|
||||
// Propagate attrs as timebarAttrs so that DefaultTimeBar's custom attributes are transferred,
|
||||
// but standard attributes (e.g. background) are not.
|
||||
// Propagate playbackAttrs as timebarAttrs so that DefaultTimeBar's custom attributes are
|
||||
// transferred, but standard attributes (e.g. background) are not.
|
||||
DefaultTimeBar defaultTimeBar =
|
||||
new DefaultTimeBar(context, null, 0, playbackAttrs, R.style.ExoStyledControls_TimeBar);
|
||||
defaultTimeBar.setId(R.id.exo_progress);
|
||||
|
|
|
|||
|
|
@ -369,7 +369,10 @@ public class StyledPlayerView extends FrameLayout implements AdViewProvider {
|
|||
int showBuffering = SHOW_BUFFERING_NEVER;
|
||||
if (attrs != null) {
|
||||
TypedArray a =
|
||||
context.getTheme().obtainStyledAttributes(attrs, R.styleable.StyledPlayerView, 0, 0);
|
||||
context
|
||||
.getTheme()
|
||||
.obtainStyledAttributes(
|
||||
attrs, R.styleable.StyledPlayerView, defStyleAttr, /* defStyleRes= */ 0);
|
||||
try {
|
||||
shutterColorSet = a.hasValue(R.styleable.StyledPlayerView_shutter_background_color);
|
||||
shutterColor =
|
||||
|
|
|
|||
Loading…
Reference in a new issue