CronetProvider

public abstract class CronetProvider

Known direct subclasses
HttpEngineNativeProvider

A Cronet provider implementation which loads the HttpEngine implementation from the Android platform.

JavaCronetProvider

Implementation of CronetProvider that creates CronetEngine.Builder for building the Java-based implementation of CronetEngine.


Provides a factory method to create CronetEngine.Builder instances. A CronetEngine.Builder instance can be used to create a specific CronetEngine implementation. To get the list of available CronetProviders call getAllProviderInfos.

NOTE: This class is for advanced users that want to select a particular Cronet implementation. Most users should simply use newCronetEngine.Builder.

Summary

Constants

static final String
PROVIDER_NAME_APP_PACKAGED = "App-Packaged-Cronet-Provider"

String returned by getName for CronetProvider that provides native Cronet implementation packaged inside an application.

static final String
PROVIDER_NAME_FALLBACK = "Fallback-Cronet-Provider"

String returned by getName for CronetProvider that provides Cronet implementation based on the system's java.net.HttpURLConnection implementation.

static final String
PROVIDER_NAME_HTTPENGINE_NATIVE = "HttpEngine-Native-Provider"

String returned by getName for CronetProvider that provides Cronet implementation based on the HttpEngine implementation present in the Platform.

Protected fields

final Context

Protected constructors

Public methods

abstract CronetEngine.Builder

Creates and returns an instance of CronetEngine.Builder.

static List<CronetProvider>

Returns an unmodifiable list of all available CronetProviders.

abstract String

Returns the provider name.

abstract String

Returns the provider version.

abstract boolean

Returns whether the provider is enabled and can be used to instantiate the Cronet engine.

String

Constants

PROVIDER_NAME_APP_PACKAGED

public static final String PROVIDER_NAME_APP_PACKAGED = "App-Packaged-Cronet-Provider"

String returned by getName for CronetProvider that provides native Cronet implementation packaged inside an application. This implementation offers significantly higher performance relative to the fallback Cronet implementations (see PROVIDER_NAME_FALLBACK).

PROVIDER_NAME_FALLBACK

public static final String PROVIDER_NAME_FALLBACK = "Fallback-Cronet-Provider"

String returned by getName for CronetProvider that provides Cronet implementation based on the system's java.net.HttpURLConnection implementation. This implementation offers significantly degraded performance relative to native Cronet implementations (see PROVIDER_NAME_APP_PACKAGED).

PROVIDER_NAME_HTTPENGINE_NATIVE

public static final String PROVIDER_NAME_HTTPENGINE_NATIVE = "HttpEngine-Native-Provider"

String returned by getName for CronetProvider that provides Cronet implementation based on the HttpEngine implementation present in the Platform. This implementation doesn't provide functionality which was deemed to be implementation specific, namely access to the netlog and internal metrics. Additionally, support for experimental features is not guaranteed (as with any other Cronet provider).

Protected fields

mContext

protected final Context mContext

Protected constructors

CronetProvider

protected CronetProvider(Context context)

Public methods

createBuilder

public abstract CronetEngine.Builder createBuilder()

Creates and returns an instance of CronetEngine.Builder.

NOTE: This class is for advanced users that want to select a particular Cronet implementation. Most users should simply use newCronetEngine.Builder.
Returns
CronetEngine.Builder

CronetEngine.Builder.

Throws
java.lang.IllegalStateException

if the provider is not enabled (see isEnabled.

getAllProviders

public static List<CronetProvidergetAllProviders(Context context)

Returns an unmodifiable list of all available CronetProviders. The providers are returned in no particular order. Some of the returned providers may be in a disabled state and should be enabled by the invoker. See isEnabled.

Returns
List<CronetProvider>

the list of available providers.

getName

public abstract String getName()

Returns the provider name. The well-know provider names include:

Returns
String

provider name.

getVersion

public abstract String getVersion()

Returns the provider version. The version can be used to select the newest available provider if multiple providers are available.

Returns
String

provider version.

isEnabled

public abstract boolean isEnabled()

Returns whether the provider is enabled and can be used to instantiate the Cronet engine. A provider being out-of-date (older than the API) and needing updating is one potential reason it could be disabled. Please read the provider documentation for enablement procedure.

Returns
boolean

true if the provider is enabled.

toString

public String toString()