CronetProvider

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

const String!
PROVIDER_NAME_APP_PACKAGED = "App-Packaged-Cronet-Provider"

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

const 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.

const 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 constructors

Public functions

abstract CronetEngine.Builder!

Creates and returns an instance of CronetEngine.Builder.

java-static (Mutable)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!

Protected properties

Context!

Constants

PROVIDER_NAME_APP_PACKAGED

const val PROVIDER_NAME_APP_PACKAGED = "App-Packaged-Cronet-Provider": String!

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

const val PROVIDER_NAME_FALLBACK = "Fallback-Cronet-Provider": String!

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

const val PROVIDER_NAME_HTTPENGINE_NATIVE = "HttpEngine-Native-Provider": String!

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 constructors

CronetProvider

protected CronetProvider(context: Context!)

Public functions

createBuilder

abstract fun createBuilder(): CronetEngine.Builder!

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

java-static fun getAllProviders(context: Context!): (Mutable)List<CronetProvider!>!

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
(Mutable)List<CronetProvider!>!

the list of available providers.

getName

abstract fun getName(): String!

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

Returns
String!

provider name.

getVersion

abstract fun getVersion(): String!

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

abstract fun isEnabled(): Boolean

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

fun toString(): String!

Protected properties

mContext

protected val mContextContext!