diff --git a/demos/transformer/src/main/AndroidManifest.xml b/demos/transformer/src/main/AndroidManifest.xml
index d12622c1a8..8c58f1ad6a 100644
--- a/demos/transformer/src/main/AndroidManifest.xml
+++ b/demos/transformer/src/main/AndroidManifest.xml
@@ -22,6 +22,7 @@
+
= 24) {
+ if (SDK_INT >= 24) {
videoMimeAdapter.add(MimeTypes.VIDEO_H265);
}
@@ -487,13 +488,11 @@ public final class ConfigurationActivity extends AppCompatActivity {
}
private void selectLocalFile(View view) {
- int permissionStatus =
- ActivityCompat.checkSelfPermission(
- ConfigurationActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE);
- if (permissionStatus != PackageManager.PERMISSION_GRANTED) {
- String[] neededPermissions = {Manifest.permission.READ_EXTERNAL_STORAGE};
+ String permission = SDK_INT >= 33 ? READ_MEDIA_VIDEO : READ_EXTERNAL_STORAGE;
+ if (ActivityCompat.checkSelfPermission(/* context= */ this, permission)
+ != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
- ConfigurationActivity.this, neededPermissions, FILE_PERMISSION_REQUEST_CODE);
+ /* activity= */ this, new String[] {permission}, FILE_PERMISSION_REQUEST_CODE);
} else {
launchLocalFilePicker();
}
diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java
index fd7f3be041..7f0b28b936 100644
--- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java
+++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java
@@ -16,9 +16,11 @@
package androidx.media3.demo.transformer;
import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
+import static android.Manifest.permission.READ_MEDIA_VIDEO;
import static androidx.media3.common.util.Assertions.checkNotNull;
import static androidx.media3.common.util.Assertions.checkState;
import static androidx.media3.common.util.Assertions.checkStateNotNull;
+import static androidx.media3.common.util.Util.SDK_INT;
import static androidx.media3.transformer.Transformer.PROGRESS_STATE_NOT_STARTED;
import android.app.Activity;
@@ -44,6 +46,7 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.app.ActivityCompat;
import androidx.media3.common.C;
import androidx.media3.common.DebugViewProvider;
import androidx.media3.common.Effect;
@@ -52,7 +55,6 @@ import androidx.media3.common.audio.AudioProcessor;
import androidx.media3.common.audio.SonicAudioProcessor;
import androidx.media3.common.util.GlUtil;
import androidx.media3.common.util.Log;
-import androidx.media3.common.util.Util;
import androidx.media3.effect.BitmapOverlay;
import androidx.media3.effect.Contrast;
import androidx.media3.effect.DrawableOverlay;
@@ -195,7 +197,7 @@ public final class TransformerActivity extends AppCompatActivity {
"debugFrame",
})
private void startTransformation() {
- requestTransformerPermission();
+ requestReadVideoPermission(/* activity= */ this);
Intent intent = getIntent();
Uri uri = checkNotNull(intent.getData());
@@ -683,12 +685,11 @@ public final class TransformerActivity extends AppCompatActivity {
}
}
- private void requestTransformerPermission() {
- if (Util.SDK_INT < 23) {
- return;
- }
- if (checkSelfPermission(READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
- requestPermissions(new String[] {READ_EXTERNAL_STORAGE}, /* requestCode= */ 0);
+ private static void requestReadVideoPermission(AppCompatActivity activity) {
+ String permission = SDK_INT >= 33 ? READ_MEDIA_VIDEO : READ_EXTERNAL_STORAGE;
+ if (ActivityCompat.checkSelfPermission(activity, permission)
+ != PackageManager.PERMISSION_GRANTED) {
+ ActivityCompat.requestPermissions(activity, new String[] {permission}, /* requestCode= */ 0);
}
}
diff --git a/libraries/transformer/src/androidTest/AndroidManifest.xml b/libraries/transformer/src/androidTest/AndroidManifest.xml
index ef9116fa63..d665bcf6b9 100644
--- a/libraries/transformer/src/androidTest/AndroidManifest.xml
+++ b/libraries/transformer/src/androidTest/AndroidManifest.xml
@@ -21,6 +21,7 @@
+