From 56c419c1b3251e61106073abf67cb9d6ebb15324 Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 1 Aug 2024 10:46:47 -0700 Subject: [PATCH] Run CronetDataSource contract test for all Cronet providers The data source may behave differently, depending on the provider, so we can extend the contract test to check all available providers. PiperOrigin-RevId: 658457650 --- .../cronet/CronetDataSourceContractTest.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/libraries/datasource_cronet/src/androidTest/java/androidx/media3/datasource/cronet/CronetDataSourceContractTest.java b/libraries/datasource_cronet/src/androidTest/java/androidx/media3/datasource/cronet/CronetDataSourceContractTest.java index a9331f8039..437576bef6 100644 --- a/libraries/datasource_cronet/src/androidTest/java/androidx/media3/datasource/cronet/CronetDataSourceContractTest.java +++ b/libraries/datasource_cronet/src/androidTest/java/androidx/media3/datasource/cronet/CronetDataSourceContractTest.java @@ -15,10 +15,7 @@ */ package androidx.media3.datasource.cronet; -import static com.google.common.truth.Truth.assertThat; - import android.net.Uri; -import androidx.annotation.Nullable; import androidx.media3.datasource.DataSource; import androidx.media3.test.utils.DataSourceContractTest; import androidx.media3.test.utils.HttpDataSourceTestEnv; @@ -29,6 +26,7 @@ import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.chromium.net.CronetEngine; +import org.chromium.net.CronetProvider; import org.junit.After; import org.junit.Rule; import org.junit.runner.RunWith; @@ -47,15 +45,19 @@ public class CronetDataSourceContractTest extends DataSourceContractTest { @Override protected List createDataSources() { - @Nullable - CronetEngine cronetEngine = - CronetUtil.buildCronetEngine( - ApplicationProvider.getApplicationContext(), - /* userAgent= */ "test-agent", - /* preferGooglePlayServices= */ false); - assertThat(cronetEngine).isNotNull(); - return ImmutableList.of( - new CronetDataSource.Factory(cronetEngine, executorService).createDataSource()); + List cronetProviders = + CronetProvider.getAllProviders(ApplicationProvider.getApplicationContext()); + ImmutableList.Builder dataSources = ImmutableList.builder(); + for (int i = 0; i < cronetProviders.size(); i++) { + CronetProvider provider = cronetProviders.get(i); + if (!provider.isEnabled()) { + continue; + } + CronetEngine cronetEngine = provider.createBuilder().setUserAgent("test-agent").build(); + dataSources.add( + new CronetDataSource.Factory(cronetEngine, executorService).createDataSource()); + } + return dataSources.build(); } @Override