From a00c4465293ce2493d36c6751dbb6d07f81594a1 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Wed, 4 Sep 2024 10:39:59 -0700 Subject: [PATCH] Do not clear the timeline after the Cast receiver disconnects The goal is to enable the app to fetch the timeline after a disconnection in order to prepare and resume local playback. PiperOrigin-RevId: 671022044 --- RELEASENOTES.md | 2 ++ .../src/main/java/androidx/media3/cast/CastPlayer.java | 7 ++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 8b3e48a45f..088cdc37bb 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -42,6 +42,8 @@ * MIDI extension: * Leanback extension: * Cast Extension: + * Stop clearning the timeline after the CastSession disconnects, which + enables the sender app to resume playback locally after a disconnection. * Test Utilities: * Demo app: * Remove deprecated symbols: diff --git a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java index ab318c999a..01991548ae 100644 --- a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java +++ b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java @@ -1283,11 +1283,8 @@ public final class CastPlayer extends BasePlayer { remoteMediaClient.registerCallback(statusListener); remoteMediaClient.addProgressListener(statusListener, PROGRESS_REPORT_PERIOD_MS); updateInternalStateAndNotifyIfChanged(); - } else { - updateTimelineAndNotifyIfChanged(); - if (sessionAvailabilityListener != null) { - sessionAvailabilityListener.onCastSessionUnavailable(); - } + } else if (sessionAvailabilityListener != null) { + sessionAvailabilityListener.onCastSessionUnavailable(); } }