# Index

A C D E F G H I M O P R S T U
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

## A

ACTION_DOWNLOAD_COMPLETED - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that a download has been completed
ACTION_DOWNLOAD_CREATED - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that a download has been created
ACTION_DOWNLOAD_DELETED - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that a download has been deleted
ACTION_DOWNLOAD_ERROR - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that a download error occurred
ACTION_DOWNLOAD_NO_PENDING - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that the download queue has no started downloads
ACTION_DOWNLOAD_PATH_UPDATE - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that the path for a download has been updated, or failed to.
ACTION_DOWNLOAD_PROGRESS - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that progress was made on the current download
ACTION_DOWNLOAD_STARTED - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that a download has been started
ACTION_DOWNLOAD_STOPPED - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that a download has been stopped
ACTION_DOWNLOAD_STORAGE_LOW - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that the storage is insufficient to continue with downloads If this action is fired all ongoing Downloads (with states `Download.STATE_LOADING` or `Download.STATE_QUEUED`) will be automatically paused.
ACTION_DOWNLOAD_STORAGE_OK - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as action in `IntentFilter.addAction(String)` to receive messages that the device storage is sufficient to continue with downloads
allowNonScopedStorageDownload - Static variable in class com.castlabs.sdk.downloader.DownloadServiceBinder
  This flag indicates whether to allow `downloads` to be downloaded into system paths which are not part of the scoped storage.
autoStopService - Static variable in class com.castlabs.sdk.downloader.DownloadServiceBinder
  This flag indicates whether to stop the `Service` once there are no pending `downloads`.

## C

com.castlabs.sdk.downloader - package com.castlabs.sdk.downloader
com.castlabs.sdk.downloader.v3retrofit - package com.castlabs.sdk.downloader.v3retrofit
createDownload(Download, boolean) - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Stores the download internally and if the startDownload is set then adds the download into the download queue.

## D

DEBUG - Static variable in class com.castlabs.sdk.downloader.DownloaderPlugin
  Use this to enable debug log output * @param provider Notification provider
DEFAULT_DOWNLOADER_THREADS_PRIORITY - Static variable in class com.castlabs.sdk.downloader.DownloaderPlugin
  Default priority value for downloader threads.
DEFAULT_METADATA_PERSIST_INTERVAL_MS - Static variable in class com.castlabs.sdk.downloader.DownloaderPlugin
  Default interval in ms the download metadata is persisted into the storage.
DEFAULT_NUM_PARALLEL_DOWNLOADS - Static variable in class com.castlabs.sdk.downloader.DownloaderPlugin
  Default number of parallel chunk downloads permitted
deleteDownload(String) - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Deletes download identified by download Id.
Download - Class in com.castlabs.sdk.downloader
  The download model class
Download(String, String, File, boolean) - Constructor for class com.castlabs.sdk.downloader.Download
  Create Download with specified Id, manifest URL and base folder for storage.
DOWNLOAD_UPDATE_PATH_RESULT_ERROR_DOWNLOAD_INVALID_STATE - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  The download path could not be updated due to the Download being in an invalid state.
DOWNLOAD_UPDATE_PATH_RESULT_ERROR_DOWNLOAD_NOT_FOUND - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  The download path could not be updated due to that the Download could not be found.
DOWNLOAD_UPDATE_PATH_RESULT_ERROR_DOWNLOAD_UNKNOWN - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  The download path could not be updated due to an unknown error.
DOWNLOAD_UPDATE_PATH_RESULT_SUCCESS - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  The download path has been successfully updated.
Download.State - Annotation Type in com.castlabs.sdk.downloader
Downloader - Class in com.castlabs.sdk.downloader
Downloader.ModelReadyCallback - Interface in com.castlabs.sdk.downloader
  Callback that is triggered after a Manifest URL was parsed and a model can be generated from the list of available tracks and qualities, see `DownloadServiceBinder.prepareDownload(android.content.Context, android.os.Bundle, com.castlabs.sdk.downloader.Downloader.ModelReadyCallback)`
DownloaderPlugin - Class in com.castlabs.sdk.downloader
  This plugin integrates the offline downloader plugin with the castLabs Player SDK.
DownloaderPlugin(DownloadNotificationProvider) - Constructor for class com.castlabs.sdk.downloader.DownloaderPlugin
  Creates a new instance with support for 10 parallel segment downloads.
DownloaderPlugin(DownloadNotificationProvider, int) - Constructor for class com.castlabs.sdk.downloader.DownloaderPlugin
  Creates a new instance.
DownloaderPlugin(DownloadNotificationProvider, int, int) - Constructor for class com.castlabs.sdk.downloader.DownloaderPlugin
  Creates a new instance.
DownloaderPlugin(DownloadNotificationProvider, int, int, int, long) - Constructor for class com.castlabs.sdk.downloader.DownloaderPlugin
  Creates a new instance.
DownloaderPlugin.StorageLowMode - Annotation Type in com.castlabs.sdk.downloader
DownloadNotificationProvider - Class in com.castlabs.sdk.downloader
  Class to provide the `DownloaderPlugin` with the required info related to notifications for the foreground Downloader service.
DownloadNotificationProvider(int) - Constructor for class com.castlabs.sdk.downloader.DownloadNotificationProvider
DownloadService - Class in com.castlabs.sdk.downloader
  The download service that controls the download of requested content downloads.
DownloadService() - Constructor for class com.castlabs.sdk.downloader.DownloadService
DownloadServiceBinder - Class in com.castlabs.sdk.downloader
  The binder providing access to `DownloadService`.

## E

equals(Object) - Method in class com.castlabs.sdk.downloader.Download
ERROR_TYPE_CONNECTION_ERROR - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Error type that indicates a connectivity issue on the client device
ERROR_TYPE_DRM_ERROR - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Error type that indicates a DRM license fetching error.
ERROR_TYPE_HTTP_ERROR - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Error type for HTTP related download error.
ERROR_TYPE_UNKNOWN_ERROR - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Generic error type for errors that could not be identified more specifically
Error handling - Search tag in class com.castlabs.sdk.downloader.MessageHandler
  Section

## F

fetchLicense(Download, DrmConfiguration, DrmLicenseLoader.Callback) - Static method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Fetches the appropriate license for the given Download.
findDownloadById(String) - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Finds download by download Id

## G

getAudioTrackList(DashManifest, int) - Method in class com.castlabs.sdk.downloader.v3retrofit.TrackLoader
  Deprecated.
  Loads audio tracks from the given DASH manifest
getAudioTrackList(SsManifest) - Method in class com.castlabs.sdk.downloader.v3retrofit.TrackLoader
  Deprecated.
  Loads audio tracks from the given SmoothStreaming manifest
getAudioTracks() - Method in class com.castlabs.sdk.downloader.Download
  Get all available (remote) audio tracks or null if no audio tracks are available.
getDownloadedSize() - Method in class com.castlabs.sdk.downloader.Download
  Returns the size in bytes of the currently download data on disk.
getDownloads() - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Returns a list of all downloads that are currently available in the storage
getDrmConfiguration() - Method in class com.castlabs.sdk.downloader.Download
  Returns the content DRM configuration.
getEstimatedSize() - Method in class com.castlabs.sdk.downloader.Download
  Returns the total size of all selected tracks of this download.
getHeaderParams() - Method in class com.castlabs.sdk.downloader.Download
  Returns a Bundle with the extra header key:values that will be added to the requests.
getId() - Method in class com.castlabs.sdk.downloader.Download
getId() - Method in class com.castlabs.sdk.downloader.DownloaderPlugin
getLocalBaseFolder() - Method in class com.castlabs.sdk.downloader.Download
  The local folder that contains the files for this download.
getLocalManifestUrl() - Method in class com.castlabs.sdk.downloader.Download
  Returns the path to the local Manifest.
getMergeVideoTracks() - Method in class com.castlabs.sdk.downloader.Download
  The flag specifying the video tracks should be merged or not
getNotification(DownloadServiceBinder, Context) - Method in class com.castlabs.sdk.downloader.DownloadNotificationProvider
  Build and provide a notification.
getNotificationId() - Method in class com.castlabs.sdk.downloader.DownloadNotificationProvider
  Returns the notification id provided in the constructor.
getQueryParams() - Method in class com.castlabs.sdk.downloader.Download
  Returns a Bundle with the extra query params that will be added to the requests.
getRemoteUrl() - Method in class com.castlabs.sdk.downloader.Download
getSelectedAudioTracks() - Method in class com.castlabs.sdk.downloader.Download
  Get the array of selected audio tracks by index
getSelectedSubtitleTracks() - Method in class com.castlabs.sdk.downloader.Download
getSelectedTrickPlayTrackQuality() - Method in class com.castlabs.sdk.downloader.Download
  Get the index of the selected trick-play track
getSelectedVideoTrackQuality() - Method in class com.castlabs.sdk.downloader.Download
  Get the index of the selected video track
getSize(int, int) - Method in class com.castlabs.sdk.downloader.Download
  Returns the size of the chunk with the given media type, i.e `SdkConsts.VIDEO`, `SdkConsts.AUDIO`, `SdkConsts.TEXT`, or `SdkConsts.OTHER`, and its track index.
getSize(int, int, boolean) - Method in class com.castlabs.sdk.downloader.Download
  Returns the size of the chunk with the given media type, i.e `SdkConsts.VIDEO`, `SdkConsts.AUDIO`, `SdkConsts.TEXT`, or `SdkConsts.OTHER`, and its track index.
getState() - Method in class com.castlabs.sdk.downloader.Download
  Get the current state of this download
getStorageLowThreshold(long) - Method in class com.castlabs.sdk.downloader.DownloaderPlugin
  Returns the storage low threshold in bytes
getSubtitleTrackDownloads() - Method in class com.castlabs.sdk.downloader.Download
getSubtitleTracks() - Method in class com.castlabs.sdk.downloader.Download
  Get all available (remote) subtitle tracks or null if no subtitle tracks are available.
getTextTrackList(DashManifest, int) - Method in class com.castlabs.sdk.downloader.v3retrofit.TrackLoader
  Deprecated.
  Loads text tracks from the given DASH manifest
getTextTrackList(SsManifest) - Method in class com.castlabs.sdk.downloader.v3retrofit.TrackLoader
  Deprecated.
  Loads video tracks from the given SmoothStreaming manifest
getTrickPlayTrackQualities() - Method in class com.castlabs.sdk.downloader.Download
  All available (remote) trick-play representations.
getVideoTrackList(DashManifest, boolean, int) - Method in class com.castlabs.sdk.downloader.v3retrofit.TrackLoader
  Deprecated.
  Loads video tracks from the given DASH manifest
getVideoTrackList(SsManifest, boolean) - Method in class com.castlabs.sdk.downloader.v3retrofit.TrackLoader
  Deprecated.
  Loads video tracks from the given SmoothStreaming manifest
getVideoTrackQualities() - Method in class com.castlabs.sdk.downloader.Download
  All available (remote) video representations.

## H

handleMessage(Message) - Method in class com.castlabs.sdk.downloader.MessageHandler
hashCode() - Method in class com.castlabs.sdk.downloader.Download

## I

INTENT_DOWNLOAD_CATEGORY - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as category in `IntentFilter.addCategory(java.lang.String)` for filtering out the broadcasted downloader messages
INTENT_DOWNLOAD_ERROR - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as `Intent` key to indicate the download error
INTENT_DOWNLOAD_ERROR_DRM - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as `Intent` key to find the DRM error.
INTENT_DOWNLOAD_ERROR_HTTP_STATUS - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as `Intent` key to find the http status error for errors of type `MessageHandler.ERROR_TYPE_HTTP_ERROR`.
INTENT_DOWNLOAD_ERROR_HTTP_URL - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as `Intent` key to find the URL that caused the error for errors of type `MessageHandler.ERROR_TYPE_HTTP_ERROR`.
INTENT_DOWNLOAD_ERROR_TYPE - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as `Intent` key to find the error type.
INTENT_DOWNLOAD_ID - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as `Intent` key to indicate the download Id
INTENT_DOWNLOAD_PATH_UPDATE_ERROR - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as `Intent` key to find the `Exception` in case there's been an error while updating the download path.
INTENT_DOWNLOAD_PATH_UPDATE_RESULT - Static variable in class com.castlabs.sdk.downloader.MessageHandler
  Use this as `Intent` key to find the result of the Download Path Update.

## M

MessageHandler - Class in com.castlabs.sdk.downloader
  The download message handler broadcasts downloader related messages:

## O

onBind(Intent) - Method in class com.castlabs.sdk.downloader.DownloadService
onCreate() - Method in class com.castlabs.sdk.downloader.DownloadService
onDestroy() - Method in class com.castlabs.sdk.downloader.DownloadService
onDownloadEvent(DownloadServiceBinder, Intent) - Method in class com.castlabs.sdk.downloader.DownloadNotificationProvider
  Called whenever a new Download event is fired.
onError(Exception) - Method in interface com.castlabs.sdk.downloader.Downloader.ModelReadyCallback
  Called when an error occurred while loading the manifest or preparing the data
onModelAvailable(Download) - Method in interface com.castlabs.sdk.downloader.Downloader.ModelReadyCallback
  Called with the current download model.
onStartCommand(Intent, int, int) - Method in class com.castlabs.sdk.downloader.DownloadService

## P

pauseDownload(String) - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Pauses download identified by download Id.
prepareDownload(Context, Bundle, Downloader.ModelReadyCallback) - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Creates the download model by downloading and parsing the manifest.

## R

removeLicense(Download, DrmConfiguration, DrmLicenseLoader.Callback) - Static method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Removes the appropriate license for the given Download.
resumeDownload(String) - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Resumes download identified by download Id.
resumeQueuedDownloads() - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Starts the downloader service and resumes downloading queued downloads.

## S

setHeaderParams(Bundle) - Method in class com.castlabs.sdk.downloader.Download
  Sets the headers to add to the download requests.
setQueryParams(Bundle) - Method in class com.castlabs.sdk.downloader.Download
  Sets the query params to add to the download requests.
setSelectedAudioTracks(int[]) - Method in class com.castlabs.sdk.downloader.Download
  Set the array of selected audio tracks
setSelectedSubtitleTracks(int[]) - Method in class com.castlabs.sdk.downloader.Download
  Set the selected subtitle tracks by index
setSelectedTrickPlayTrackQuality(int) - Method in class com.castlabs.sdk.downloader.Download
  Set the selected trick-play track quality using its index in the list of available representations.
setSelectedVideoTrackQuality(int) - Method in class com.castlabs.sdk.downloader.Download
  Set the selected video track quality using its index in the list of available representations.
setStorageLowThreshold(int, long) - Method in class com.castlabs.sdk.downloader.DownloaderPlugin
  Sets the threshold values that define when downloads are aborted due to not enough disk space.
shouldKeepNotification(DownloadServiceBinder) - Method in class com.castlabs.sdk.downloader.DownloadNotificationProvider
  Whether the persistent notification should be cleared or not.
STATE_DONE - Static variable in class com.castlabs.sdk.downloader.Download
  The download is completed
STATE_ERROR - Static variable in class com.castlabs.sdk.downloader.Download
  At least one chunk download failed and the download is in error state
STATE_IDLE - Static variable in class com.castlabs.sdk.downloader.Download
  The download is paused
STATE_LOADING - Static variable in class com.castlabs.sdk.downloader.Download
  The download is currently downloading
STATE_QUEUED - Static variable in class com.castlabs.sdk.downloader.Download
  The download is queued for loading
stopService() - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Stops the `DownloadService` if it's running.
STORAGE_LOW_MODE_PAUSE - Static variable in class com.castlabs.sdk.downloader.DownloaderPlugin
  Downloads will be put to `Download.STATE_IDLE` when a `MessageHandler.ACTION_DOWNLOAD_STORAGE_LOW` event is triggered.
STORAGE_LOW_MODE_QUEUED - Static variable in class com.castlabs.sdk.downloader.DownloaderPlugin
  Downloads will be put to `Download.STATE_QUEUED` when a `MessageHandler.ACTION_DOWNLOAD_STORAGE_LOW` event is triggered.

## T

toString() - Method in class com.castlabs.sdk.downloader.Download
TrackLoader - Class in com.castlabs.sdk.downloader.v3retrofit
  Deprecated.
  Used only to migrate not completed v3.x.x downloads to v4.x.x
TrackLoader() - Constructor for class com.castlabs.sdk.downloader.v3retrofit.TrackLoader
  Deprecated.

## U

updateDownloadPath(String, String) - Method in class com.castlabs.sdk.downloader.DownloadServiceBinder
  Updates the internal download path.

A C D E F G H I M O P R S T U
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form