From d656782bd4deaba624ab47da4d4f4e44d56c0786 Mon Sep 17 00:00:00 2001 From: olly Date: Wed, 17 Apr 2019 16:46:42 +0100 Subject: [PATCH] Don't start download if user explicitly deselects all tracks PiperOrigin-RevId: 244003817 --- .../android/exoplayer2/demo/DownloadTracker.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java b/demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java index 34282fc389..4a7a810314 100644 --- a/demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java +++ b/demos/main/src/main/java/com/google/android/exoplayer2/demo/DownloadTracker.java @@ -240,7 +240,12 @@ public class DownloadTracker { } } } - startDownload(); + DownloadRequest downloadRequest = buildDownloadRequest(); + if (downloadRequest.streamKeys.isEmpty()) { + // All tracks were deselected in the dialog. Don't start the download. + return; + } + startDownload(downloadRequest); } // DialogInterface.OnDismissListener implementation. @@ -254,9 +259,16 @@ public class DownloadTracker { // Internal methods. private void startDownload() { - DownloadRequest downloadRequest = downloadHelper.getDownloadRequest(Util.getUtf8Bytes(name)); + startDownload(buildDownloadRequest()); + } + + private void startDownload(DownloadRequest downloadRequest) { DownloadService.startWithNewDownload( context, DemoDownloadService.class, downloadRequest, /* foreground= */ false); } + + private DownloadRequest buildDownloadRequest() { + return downloadHelper.getDownloadRequest(Util.getUtf8Bytes(name)); + } } }