From 329aa5864c0d22f8b02c48006bc76794c8863478 Mon Sep 17 00:00:00 2001 From: christosts Date: Mon, 11 Jul 2022 15:49:33 +0000 Subject: [PATCH] Listen to playWhenReady changes in LeanbackPlayerAdapter #minor-release Issue: google/ExoPlayer#10420 PiperOrigin-RevId: 460223064 (cherry picked from commit 4eb34e4c58e9cdfc804a5e3347ef30e9991c0186) --- RELEASENOTES.md | 3 +++ .../media3/ui/leanback/LeanbackPlayerAdapter.java | 13 ++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 13bbab32f7..33d33816ab 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -26,6 +26,9 @@ * RTSP: * Add RTP reader for H263 ([#63](https://github.com/androidx/media/pull/63)). +* Leanback extension: + * Listen to `playWhenReady` changes in `LeanbackAdapter` + ([10420](https://github.com/google/ExoPlayer/issues/10420)). ### 1.0.0-beta01 (2022-06-16) diff --git a/libraries/ui_leanback/src/main/java/androidx/media3/ui/leanback/LeanbackPlayerAdapter.java b/libraries/ui_leanback/src/main/java/androidx/media3/ui/leanback/LeanbackPlayerAdapter.java index 77d25ce9dc..84a8c9eb75 100644 --- a/libraries/ui_leanback/src/main/java/androidx/media3/ui/leanback/LeanbackPlayerAdapter.java +++ b/libraries/ui_leanback/src/main/java/androidx/media3/ui/leanback/LeanbackPlayerAdapter.java @@ -236,11 +236,6 @@ public void surfaceDestroyed(SurfaceHolder surfaceHolder) { // Player.Listener implementation. - @Override - public void onPlaybackStateChanged(@Player.State int playbackState) { - notifyStateChanged(); - } - @Override public void onPlayerError(PlaybackException error) { Callback callback = getCallback(); @@ -285,5 +280,13 @@ public void onVideoSizeChanged(VideoSize videoSize) { int scaledWidth = Math.round(videoSize.width * videoSize.pixelWidthHeightRatio); getCallback().onVideoSizeChanged(LeanbackPlayerAdapter.this, scaledWidth, videoSize.height); } + + @Override + public void onEvents(Player player, Player.Events events) { + if (events.containsAny( + Player.EVENT_PLAY_WHEN_READY_CHANGED, Player.EVENT_PLAYBACK_STATE_CHANGED)) { + notifyStateChanged(); + } + } } }