diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 24a1db8359..22c5a30d27 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -11,6 +11,8 @@ ([#10604](https://github.com/google/ExoPlayer/issues/10604)). * Add `ExoPlayer.Builder.setPlaybackLooper` that sets a pre-existing playback thread for a new ExoPlayer instance. + * Allow download manager helpers to be cleared + ([#10776](https://github.com/google/ExoPlayer/issues/10776)). * Session: * Add helper method to convert platform session token to Media3 `SessionToken` ([#171](https://github.com/androidx/media/issues/171)). diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadService.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadService.java index e7fdf2dd46..f2df8effff 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadService.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadService.java @@ -574,6 +574,17 @@ public abstract class DownloadService extends Service { Util.startForegroundService(context, intent); } + /** + * Clear all {@linkplain DownloadManagerHelper download manager helpers} before restarting the + * service. + * + *
Calling this method is normally only required if an app supports downloading content for + * multiple users for which different download directories should be used. + */ + public static void clearDownloadManagerHelpers() { + downloadManagerHelpers.clear(); + } + @Override public void onCreate() { if (channelId != null) {