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
This commit is contained in:
parent
a98a37aa75
commit
56c419c1b3
@ -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<DataSource> 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<CronetProvider> cronetProviders =
|
||||
CronetProvider.getAllProviders(ApplicationProvider.getApplicationContext());
|
||||
ImmutableList.Builder<DataSource> 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user