media/library
olly f623a9dea0 Reduce use of DownloadInternal in DownloadManager
The only state DownloadInternal holds is duplicate of state contained
in Download, but can confusingly be temporarily out of sync. This is
error prone because it's easy to use the wrong variable (e.g.
download.state vs state). DownloadInternals methods are called into
and call out into DownloadManager, which makes some code paths that
are quite hard to follow.

It's possible to simplify DownloadManager quite a lot by removing the
duplicated state in DownloadInternal, at which point DownloadInternal's
methods flatten into DownloadManager, which can just hold an internal
list of Downloads directly.

This is a first step, which makes it clear that DownloadThready only
needs its immutable DownloadAction + an isRemove flag.

PiperOrigin-RevId: 243245288
2019-04-13 01:42:02 +01:00
..
all Upgrade gradle plugin and friends 2019-02-18 15:57:55 +00:00
core Reduce use of DownloadInternal in DownloadManager 2019-04-13 01:42:02 +01:00
dash Use LoadErrorHandlingPolicy.getRetryDelayMsFor for DASH/SS manifest loads. 2019-04-13 01:39:05 +01:00
hls Add an HLS metadata entry sublcass to populate HLS track formats 2019-04-13 01:41:23 +01:00
smoothstreaming Use LoadErrorHandlingPolicy.getRetryDelayMsFor for DASH/SS manifest loads. 2019-04-13 01:39:05 +01:00
ui Improve DownloadNotificationHelper 2019-04-13 01:39:24 +01:00
README.md Tweak and add READMEs + remove refs to V1 2017-08-17 22:59:34 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.