diff --git a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/RawResourceDataSourceContractTest.java b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/RawResourceDataSourceContractTest.java index 5853f4f3d4..77c9ab86e0 100644 --- a/libraries/datasource/src/androidTest/java/androidx/media3/datasource/RawResourceDataSourceContractTest.java +++ b/libraries/datasource/src/androidTest/java/androidx/media3/datasource/RawResourceDataSourceContractTest.java @@ -78,12 +78,12 @@ public final class RawResourceDataSourceContractTest extends DataSourceContractT .build(), new TestResource.Builder() .setName("android.resource:// with ID") - .setUri( - Uri.parse( - "android.resource://" - + ApplicationProvider.getApplicationContext().getPackageName() - + "/" - + R.raw.resource1)) + .setUri(Uri.parse("android.resource:///" + R.raw.resource1)) + .setExpectedBytes(RESOURCE_1_DATA) + .build(), + new TestResource.Builder() + .setName("android.resource:// with (unused) package and ID") + .setUri(Uri.parse("android.resource://unused.package.name/" + R.raw.resource1)) .setExpectedBytes(RESOURCE_1_DATA) .build()); } diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/RawResourceDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/RawResourceDataSource.java index f7090d2120..e07651fcd9 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/RawResourceDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/RawResourceDataSource.java @@ -51,6 +51,11 @@ import java.nio.channels.FileChannel; * efficient. * * + *

URIs of the form {@code android.resource://package/id} are also supported, although the + * package part is not needed and is not used. This support is due to this format being prevalent in + * the ecosystem (including being recommended on Stack + * Overflow). + * *

{@link #buildRawResourceUri(int)} can be used to build supported {@link Uri}s. */ @UnstableApi