Class Download
- java.lang.Object
-
- com.google.android.exoplayer2.offline.Download
-
public final class Download extends Object
Represents state of a download.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceDownload.FailureReasonFailure reasons.static interfaceDownload.StateDownload states.
-
Field Summary
Fields Modifier and Type Field Description longcontentLengthThe total size of the content in bytes, orC.LENGTH_UNSETif unknown.static intFAILURE_REASON_NONEThe download isn't failed.static intFAILURE_REASON_UNKNOWNThe download is failed because of unknown reason.intfailureReasonDownloadRequestrequestThe download request.longstartTimeMsThe first time when download entry is created.intstateThe state of the download.static intSTATE_COMPLETEDThe download completed.static intSTATE_DOWNLOADINGThe download is currently started.static intSTATE_FAILEDThe download failed.static intSTATE_QUEUEDThe download is waiting to be started.static intSTATE_REMOVINGThe download is being removed.static intSTATE_RESTARTINGThe download will restart after all downloaded data is removed.static intSTATE_STOPPEDThe download is stopped for a specifiedstopReason.static intSTOP_REASON_NONEThe download isn't stopped.intstopReasonThe reason the download is stopped, orSTOP_REASON_NONE.longupdateTimeMsThe last update time.
-
Constructor Summary
Constructors Constructor Description Download(DownloadRequest request, int state, long startTimeMs, long updateTimeMs, long contentLength, int stopReason, int failureReason)Download(DownloadRequest request, int state, long startTimeMs, long updateTimeMs, long contentLength, int stopReason, int failureReason, DownloadProgress progress)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetBytesDownloaded()Returns the total number of downloaded bytes.floatgetPercentDownloaded()Returns the estimated download percentage, orC.PERCENTAGE_UNSETif no estimate is available.booleanisTerminalState()Returns whether the download is completed or failed.
-
-
-
Field Detail
-
STATE_QUEUED
public static final int STATE_QUEUED
The download is waiting to be started. A download may be queued because theDownloadManager- Is
DownloadManager#getDownloadsPaused() paused - Has
DownloadManager#getRequirements() Requirementsthat are not met - Has already started
DownloadManager#getMaxParallelDownloads() maxParallelDownloads
- See Also:
- Constant Field Values
- Is
-
STATE_STOPPED
public static final int STATE_STOPPED
The download is stopped for a specifiedstopReason.- See Also:
- Constant Field Values
-
STATE_DOWNLOADING
public static final int STATE_DOWNLOADING
The download is currently started.- See Also:
- Constant Field Values
-
STATE_COMPLETED
public static final int STATE_COMPLETED
The download completed.- See Also:
- Constant Field Values
-
STATE_FAILED
public static final int STATE_FAILED
The download failed.- See Also:
- Constant Field Values
-
STATE_REMOVING
public static final int STATE_REMOVING
The download is being removed.- See Also:
- Constant Field Values
-
STATE_RESTARTING
public static final int STATE_RESTARTING
The download will restart after all downloaded data is removed.- See Also:
- Constant Field Values
-
FAILURE_REASON_NONE
public static final int FAILURE_REASON_NONE
The download isn't failed.- See Also:
- Constant Field Values
-
FAILURE_REASON_UNKNOWN
public static final int FAILURE_REASON_UNKNOWN
The download is failed because of unknown reason.- See Also:
- Constant Field Values
-
STOP_REASON_NONE
public static final int STOP_REASON_NONE
The download isn't stopped.- See Also:
- Constant Field Values
-
request
public final DownloadRequest request
The download request.
-
state
@State public final int state
The state of the download.
-
startTimeMs
public final long startTimeMs
The first time when download entry is created.
-
updateTimeMs
public final long updateTimeMs
The last update time.
-
contentLength
public final long contentLength
The total size of the content in bytes, orC.LENGTH_UNSETif unknown.
-
stopReason
public final int stopReason
The reason the download is stopped, orSTOP_REASON_NONE.
-
failureReason
@FailureReason public final int failureReason
-
-
Constructor Detail
-
Download
public Download(DownloadRequest request, @State int state, long startTimeMs, long updateTimeMs, long contentLength, int stopReason, @FailureReason int failureReason)
-
Download
public Download(DownloadRequest request, @State int state, long startTimeMs, long updateTimeMs, long contentLength, int stopReason, @FailureReason int failureReason, DownloadProgress progress)
-
-
Method Detail
-
isTerminalState
public boolean isTerminalState()
Returns whether the download is completed or failed. These are terminal states.
-
getBytesDownloaded
public long getBytesDownloaded()
Returns the total number of downloaded bytes.
-
getPercentDownloaded
public float getPercentDownloaded()
Returns the estimated download percentage, orC.PERCENTAGE_UNSETif no estimate is available.
-
-