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 @@ +