Cronet: Align terminology with documentation
PiperOrigin-RevId: 381472436
This commit is contained in:
parent
6fe2f25fe9
commit
bb82e7df9d
@ -3,7 +3,7 @@
|
|||||||
The Cronet extension is an [HttpDataSource][] implementation using [Cronet][].
|
The Cronet extension is an [HttpDataSource][] implementation using [Cronet][].
|
||||||
|
|
||||||
[HttpDataSource]: https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html
|
[HttpDataSource]: https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html
|
||||||
[Cronet]: https://chromium.googlesource.com/chromium/src/+/master/components/cronet?autodive=0%2F%2F
|
[Cronet]: https://developer.android.com/guide/topics/connectivity/cronet
|
||||||
|
|
||||||
## Getting the extension ##
|
## Getting the extension ##
|
||||||
|
|
||||||
@ -76,12 +76,6 @@ approximately 8MB to your application, however it may be suitable if:
|
|||||||
not widely available.
|
not widely available.
|
||||||
* You want to control the exact version of the Cronet implementation being used.
|
* You want to control the exact version of the Cronet implementation being used.
|
||||||
|
|
||||||
If you do embed the library, you can specify which implementation should
|
|
||||||
be preferred if the Google Play Services implementation is also available. This
|
|
||||||
is controlled by a `preferGMSCoreCronet` parameter, which can be passed to the
|
|
||||||
`CronetEngineWrapper` constructor (GMS Core is another name for Google Play
|
|
||||||
Services).
|
|
||||||
|
|
||||||
## Links ##
|
## Links ##
|
||||||
|
|
||||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.cronet.*`
|
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.cronet.*`
|
||||||
|
@ -53,12 +53,12 @@ public final class CronetEngineWrapper {
|
|||||||
* @param context A context.
|
* @param context A context.
|
||||||
* @param userAgent A default user agent, or {@code null} to use a default user agent of the
|
* @param userAgent A default user agent, or {@code null} to use a default user agent of the
|
||||||
* {@link CronetEngine}.
|
* {@link CronetEngine}.
|
||||||
* @param preferGMSCoreCronet Whether Cronet from GMSCore should be preferred over natively
|
* @param preferGooglePlayServices Whether Cronet from Google Play Services should be preferred
|
||||||
* bundled Cronet if both are available.
|
* over Cronet Embedded, if both are available.
|
||||||
*/
|
*/
|
||||||
public CronetEngineWrapper(
|
public CronetEngineWrapper(
|
||||||
Context context, @Nullable String userAgent, boolean preferGMSCoreCronet) {
|
Context context, @Nullable String userAgent, boolean preferGooglePlayServices) {
|
||||||
cronetEngine = CronetUtil.buildCronetEngine(context, userAgent, preferGMSCoreCronet);
|
cronetEngine = CronetUtil.buildCronetEngine(context, userAgent, preferGooglePlayServices);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -50,13 +50,13 @@ public final class CronetUtil {
|
|||||||
* @param context A context.
|
* @param context A context.
|
||||||
* @param userAgent A default user agent, or {@code null} to use a default user agent of the
|
* @param userAgent A default user agent, or {@code null} to use a default user agent of the
|
||||||
* {@link CronetEngine}.
|
* {@link CronetEngine}.
|
||||||
* @param preferGMSCoreCronet Whether Cronet from GMSCore should be preferred over natively
|
* @param preferGooglePlayServices Whether Cronet from Google Play Services should be preferred
|
||||||
* bundled Cronet, if both are available.
|
* over Cronet Embedded, if both are available.
|
||||||
* @return The {@link CronetEngine}, or {@code null} if no suitable engine could be built.
|
* @return The {@link CronetEngine}, or {@code null} if no suitable engine could be built.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public static CronetEngine buildCronetEngine(
|
public static CronetEngine buildCronetEngine(
|
||||||
Context context, @Nullable String userAgent, boolean preferGMSCoreCronet) {
|
Context context, @Nullable String userAgent, boolean preferGooglePlayServices) {
|
||||||
List<CronetProvider> cronetProviders = new ArrayList<>(CronetProvider.getAllProviders(context));
|
List<CronetProvider> cronetProviders = new ArrayList<>(CronetProvider.getAllProviders(context));
|
||||||
// Remove disabled and fallback Cronet providers from list.
|
// Remove disabled and fallback Cronet providers from list.
|
||||||
for (int i = cronetProviders.size() - 1; i >= 0; i--) {
|
for (int i = cronetProviders.size() - 1; i >= 0; i--) {
|
||||||
@ -66,7 +66,8 @@ public final class CronetUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Sort remaining providers by type and version.
|
// Sort remaining providers by type and version.
|
||||||
CronetProviderComparator providerComparator = new CronetProviderComparator(preferGMSCoreCronet);
|
CronetProviderComparator providerComparator =
|
||||||
|
new CronetProviderComparator(preferGooglePlayServices);
|
||||||
Collections.sort(cronetProviders, providerComparator);
|
Collections.sort(cronetProviders, providerComparator);
|
||||||
for (int i = 0; i < cronetProviders.size(); i++) {
|
for (int i = 0; i < cronetProviders.size(); i++) {
|
||||||
String providerName = cronetProviders.get(i).getName();
|
String providerName = cronetProviders.get(i).getName();
|
||||||
@ -81,12 +82,12 @@ public final class CronetUtil {
|
|||||||
} catch (SecurityException e) {
|
} catch (SecurityException e) {
|
||||||
Log.w(
|
Log.w(
|
||||||
TAG,
|
TAG,
|
||||||
"Failed to build CronetEngine. Please check if current process has "
|
"Failed to build CronetEngine. Please check that the process has "
|
||||||
+ "android.permission.ACCESS_NETWORK_STATE.");
|
+ "android.permission.ACCESS_NETWORK_STATE.");
|
||||||
} catch (UnsatisfiedLinkError e) {
|
} catch (UnsatisfiedLinkError e) {
|
||||||
Log.w(
|
Log.w(
|
||||||
TAG,
|
TAG,
|
||||||
"Failed to link Cronet binaries. Please check if native Cronet binaries are "
|
"Failed to link Cronet binaries. Please check that native Cronet binaries are"
|
||||||
+ "bundled into your app.");
|
+ "bundled into your app.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -103,12 +104,13 @@ public final class CronetUtil {
|
|||||||
* copy because GMSCore CronetProvider classes are unavailable in some (internal to Google)
|
* copy because GMSCore CronetProvider classes are unavailable in some (internal to Google)
|
||||||
* build configurations.
|
* build configurations.
|
||||||
*/
|
*/
|
||||||
private static final String GMS_CORE_PROVIDER_NAME = "Google-Play-Services-Cronet-Provider";
|
private static final String GOOGLE_PLAY_SERVICES_PROVIDER_NAME =
|
||||||
|
"Google-Play-Services-Cronet-Provider";
|
||||||
|
|
||||||
private final boolean preferGMSCoreCronet;
|
private final boolean preferGooglePlayServices;
|
||||||
|
|
||||||
public CronetProviderComparator(boolean preferGMSCoreCronet) {
|
public CronetProviderComparator(boolean preferGooglePlayServices) {
|
||||||
this.preferGMSCoreCronet = preferGMSCoreCronet;
|
this.preferGooglePlayServices = preferGooglePlayServices;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -128,8 +130,8 @@ public final class CronetUtil {
|
|||||||
String providerName = provider.getName();
|
String providerName = provider.getName();
|
||||||
if (CronetProvider.PROVIDER_NAME_APP_PACKAGED.equals(providerName)) {
|
if (CronetProvider.PROVIDER_NAME_APP_PACKAGED.equals(providerName)) {
|
||||||
return 1;
|
return 1;
|
||||||
} else if (GMS_CORE_PROVIDER_NAME.equals(providerName)) {
|
} else if (GOOGLE_PLAY_SERVICES_PROVIDER_NAME.equals(providerName)) {
|
||||||
return preferGMSCoreCronet ? 0 : 2;
|
return preferGooglePlayServices ? 0 : 2;
|
||||||
} else {
|
} else {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user