
The demo app has two states for downloads, as per DownloadTracker.isDownloaded. It's either "downloaded or downloading" (isDownloaded returns true, and the UI shows a blue tick) or it's "not downloaded or failed (isDownloaded returns false, and the UI does not show a blue tick). toggleDownload is out of sync in that it treates "failed" as belonging to the first state rather than the second. This means tapping on the grey tick in the UI in this case appears to be a no-op (tapping it again will make something happen). This change aligns things by making toggleDownload re-download in the case a previous download failed. In the future we could consider having three states, so failed downloads could be disambiguated properly. Unclear whether it's a good complexity/benefit trade-off for the demo app though! #minor-release PiperOrigin-RevId: 343464364
ExoPlayer main demo
This is the main ExoPlayer demo application. It uses ExoPlayer to play a number of test streams. It can be used as a starting point or reference project when developing other applications that make use of the ExoPlayer library.
Please see the demos README for instructions on how to build and run this demo.