Class DefaultDataSourceFactory

java.lang.Object
com.castlabs.android.network.DefaultDataSourceFactory
All Implemented Interfaces:
DataSourceFactory, com.google.android.exoplayer2.upstream.DataSource.Factory

public class DefaultDataSourceFactory extends Object implements DataSourceFactory
The default implementation of the DataSourceFactory.
Since:
3.0.0
  • Constructor Details

    • DefaultDataSourceFactory

      public DefaultDataSourceFactory(@NonNull Context context)
    • DefaultDataSourceFactory

      public DefaultDataSourceFactory(@NonNull Context context, @Nullable com.google.android.exoplayer2.upstream.TransferListener transferListener)
    • DefaultDataSourceFactory

      public DefaultDataSourceFactory(@NonNull Context context, @Nullable com.google.android.exoplayer2.upstream.TransferListener transferListener, @Nullable HttpListener httpListener, @Nullable PlayerController playerController)
  • Method Details

    • createDataSource

      @NonNull public com.google.android.exoplayer2.upstream.DataSource createDataSource()
      Specified by:
      createDataSource in interface com.google.android.exoplayer2.upstream.DataSource.Factory
    • createDataSource

      public com.google.android.exoplayer2.upstream.DataSource createDataSource(int requestType)
      Description copied from interface: DataSourceFactory
      Creates a data source for the given request type
      Specified by:
      createDataSource in interface DataSourceFactory
      Parameters:
      requestType - The request type
      Returns:
      dataSource the data source
    • addHeaderParameter

      public void addHeaderParameter(@NonNull String key, @Nullable String value)
      Description copied from interface: DataSourceFactory
      Adds a header parameter that will be added to each HTTP connection header that is generated with a DataSource created by this factory.

      Note that you will need to call this before a call to DataSource.Factory.createDataSource() in order to successfully add the parameter.

      Specified by:
      addHeaderParameter in interface DataSourceFactory
      Parameters:
      key - the key
      value - the value or null to remove any previously added endtry with the given key
    • clearHeaderParameters

      public void clearHeaderParameters()
      Description copied from interface: DataSourceFactory
      Removes all header parameters added previously with DataSourceFactory.addHeaderParameter(String, String).
      Specified by:
      clearHeaderParameters in interface DataSourceFactory
    • addQueryParameter

      public void addQueryParameter(@NonNull String key, @Nullable String value)
      Description copied from interface: DataSourceFactory
      Adds a query parameter that will be appended to each HTTP URL.

      Note that you will need to call this before a call to DataSource.Factory.createDataSource() in order to successfully add the parameter.

      Specified by:
      addQueryParameter in interface DataSourceFactory
      Parameters:
      key - the key
      value - the value or null to remove any previously added entry with the given key
    • clearQueryParameters

      public void clearQueryParameters()
      Description copied from interface: DataSourceFactory
      Removes all query parameters added previously with DataSourceFactory.addQueryParameter(String, String)
      Specified by:
      clearQueryParameters in interface DataSourceFactory
    • getHeaderParameter

      @NonNull public Map<String,String> getHeaderParameter()
      Specified by:
      getHeaderParameter in interface DataSourceFactory
      Returns:
      A non-null map of all registered header parameter
    • getQueryParameter

      @NonNull public Map<String,String> getQueryParameter()
      Specified by:
      getQueryParameter in interface DataSourceFactory
      Returns:
      A non-null map of all registered query parameter