From 4986fdd1a64d0bdc3cc21503161f0f3c03faf78a Mon Sep 17 00:00:00 2001 From: ibaker Date: Thu, 23 May 2024 08:29:04 -0700 Subject: [PATCH] Remove deprecated `setContentTypePredicate()` methods Use the suggested alternative on the respective `XXXDataSource.Factory` instead. PiperOrigin-RevId: 636560182 --- RELEASENOTES.md | 5 ++- .../datasource/DefaultHttpDataSource.java | 12 +----- .../datasource/cronet/CronetDataSource.java | 11 +---- .../cronet/CronetDataSourceTest.java | 43 ++++++++++--------- .../datasource/okhttp/OkHttpDataSource.java | 11 +---- 5 files changed, 30 insertions(+), 52 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 883862e386..c91ad4c35f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -192,10 +192,13 @@ artist in the Media3 media item ([#1255](https://github.com/androidx/media/pull/1255)). * Test Utilities: -* Remove deprecated symbols: * Demo app: * Allow setting repeat mode with `Intent` arguments from command line ([#1266](https://github.com/androidx/media/pull/1266)). +* Remove deprecated symbols: + * Remove `setContentTypePredicate(Predicate)` method from + `DefaultHttpDataSource`, `OkHttpDataSource` and `CronetDataSource`. Use + the equivalent method on each `XXXDataSource.Factory` instead. ## 1.4 diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultHttpDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultHttpDataSource.java index cfefab49da..d37e8ab61d 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultHttpDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultHttpDataSource.java @@ -257,9 +257,9 @@ public class DefaultHttpDataSource extends BaseDataSource implements HttpDataSou @Nullable private final String userAgent; @Nullable private final RequestProperties defaultRequestProperties; private final RequestProperties requestProperties; + @Nullable private final Predicate contentTypePredicate; private final boolean keepPostFor302Redirects; - @Nullable private Predicate contentTypePredicate; @Nullable private DataSpec dataSpec; @Nullable private HttpURLConnection connection; @Nullable private InputStream inputStream; @@ -352,16 +352,6 @@ public class DefaultHttpDataSource extends BaseDataSource implements HttpDataSou this.keepPostFor302Redirects = keepPostFor302Redirects; } - /** - * @deprecated Use {@link DefaultHttpDataSource.Factory#setContentTypePredicate(Predicate)} - * instead. - */ - @UnstableApi - @Deprecated - public void setContentTypePredicate(@Nullable Predicate contentTypePredicate) { - this.contentTypePredicate = contentTypePredicate; - } - @UnstableApi @Override @Nullable diff --git a/libraries/datasource_cronet/src/main/java/androidx/media3/datasource/cronet/CronetDataSource.java b/libraries/datasource_cronet/src/main/java/androidx/media3/datasource/cronet/CronetDataSource.java index adb28409c6..39b4e034a1 100644 --- a/libraries/datasource_cronet/src/main/java/androidx/media3/datasource/cronet/CronetDataSource.java +++ b/libraries/datasource_cronet/src/main/java/androidx/media3/datasource/cronet/CronetDataSource.java @@ -459,7 +459,7 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource { private final Clock clock; private final int readBufferSize; - @Nullable private Predicate contentTypePredicate; + @Nullable private final Predicate contentTypePredicate; private final boolean keepPostFor302Redirects; // Accessed by the calling thread only. @@ -517,15 +517,6 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource { operation = new ConditionVariable(); } - /** - * @deprecated Use {@link CronetDataSource.Factory#setContentTypePredicate(Predicate)} instead. - */ - @UnstableApi - @Deprecated - public void setContentTypePredicate(@Nullable Predicate contentTypePredicate) { - this.contentTypePredicate = contentTypePredicate; - } - // HttpDataSource implementation. @UnstableApi diff --git a/libraries/datasource_cronet/src/test/java/androidx/media3/datasource/cronet/CronetDataSourceTest.java b/libraries/datasource_cronet/src/test/java/androidx/media3/datasource/cronet/CronetDataSourceTest.java index 143d3076e9..a6a768d0a8 100644 --- a/libraries/datasource_cronet/src/test/java/androidx/media3/datasource/cronet/CronetDataSourceTest.java +++ b/libraries/datasource_cronet/src/test/java/androidx/media3/datasource/cronet/CronetDataSourceTest.java @@ -111,19 +111,8 @@ public final class CronetDataSourceTest { public void setUp() { MockitoAnnotations.initMocks(this); - Map defaultRequestProperties = new HashMap<>(); - defaultRequestProperties.put("defaultHeader1", "defaultValue1"); - defaultRequestProperties.put("defaultHeader2", "defaultValue2"); - executorService = Executors.newSingleThreadExecutor(); - dataSourceUnderTest = - (CronetDataSource) - new CronetDataSource.Factory(mockCronetEngine, executorService) - .setConnectionTimeoutMs(TEST_CONNECT_TIMEOUT_MS) - .setReadTimeoutMs(TEST_READ_TIMEOUT_MS) - .setResetTimeoutOnRedirects(true) - .setDefaultRequestProperties(defaultRequestProperties) - .createDataSource(); + dataSourceUnderTest = (CronetDataSource) createCronetDataSourceFactory().createDataSource(); dataSourceUnderTest.addTransferListener(mockTransferListener); when(mockCronetEngine.newUrlRequestBuilder( anyString(), any(UrlRequest.Callback.class), any(Executor.class))) @@ -436,15 +425,18 @@ public final class CronetDataSourceTest { } @Test - public void requestOpenValidatesContentTypePredicate() { - mockResponseStartSuccess(); - + public void requestOpenValidatesContentTypePredicate() throws Exception { ArrayList testedContentTypes = new ArrayList<>(); - dataSourceUnderTest.setContentTypePredicate( - (String input) -> { - testedContentTypes.add(input); - return false; - }); + dataSourceUnderTest = + (CronetDataSource) + createCronetDataSourceFactory() + .setContentTypePredicate( + (String input) -> { + testedContentTypes.add(input); + return false; + }) + .createDataSource(); + mockResponseStartSuccess(); try { dataSourceUnderTest.open(testDataSpec); @@ -1572,6 +1564,17 @@ public final class CronetDataSourceTest { // Helper methods. + private CronetDataSource.Factory createCronetDataSourceFactory() { + Map defaultRequestProperties = new HashMap<>(); + defaultRequestProperties.put("defaultHeader1", "defaultValue1"); + defaultRequestProperties.put("defaultHeader2", "defaultValue2"); + return new CronetDataSource.Factory(mockCronetEngine, executorService) + .setConnectionTimeoutMs(TEST_CONNECT_TIMEOUT_MS) + .setReadTimeoutMs(TEST_READ_TIMEOUT_MS) + .setResetTimeoutOnRedirects(true) + .setDefaultRequestProperties(defaultRequestProperties); + } + private void mockStatusResponse() { doAnswer( invocation -> { diff --git a/libraries/datasource_okhttp/src/main/java/androidx/media3/datasource/okhttp/OkHttpDataSource.java b/libraries/datasource_okhttp/src/main/java/androidx/media3/datasource/okhttp/OkHttpDataSource.java index c72796405d..207bf72e3f 100644 --- a/libraries/datasource_okhttp/src/main/java/androidx/media3/datasource/okhttp/OkHttpDataSource.java +++ b/libraries/datasource_okhttp/src/main/java/androidx/media3/datasource/okhttp/OkHttpDataSource.java @@ -187,8 +187,8 @@ public class OkHttpDataSource extends BaseDataSource implements HttpDataSource { @Nullable private final String userAgent; @Nullable private final CacheControl cacheControl; @Nullable private final RequestProperties defaultRequestProperties; + @Nullable private final Predicate contentTypePredicate; - @Nullable private Predicate contentTypePredicate; @Nullable private DataSpec dataSpec; @Nullable private Response response; @Nullable private InputStream responseByteStream; @@ -249,15 +249,6 @@ public class OkHttpDataSource extends BaseDataSource implements HttpDataSource { this.requestProperties = new RequestProperties(); } - /** - * @deprecated Use {@link OkHttpDataSource.Factory#setContentTypePredicate(Predicate)} instead. - */ - @UnstableApi - @Deprecated - public void setContentTypePredicate(@Nullable Predicate contentTypePredicate) { - this.contentTypePredicate = contentTypePredicate; - } - @UnstableApi @Override @Nullable