mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Transformer demo: support selecting all media MIME types
It's useful for development and debugging to select a local image or audio (only) file as well as a video file in the transformer demo app. I tested manually that you can select a local video, audio and image but not e.g. a pdf with the main "choose local file" picker and only an image with the choose local image picker for the bitmap overlay demo. PiperOrigin-RevId: 600722622
This commit is contained in:
parent
5863ce7dd5
commit
94ce356bc1
@ -282,7 +282,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
|||||||
selectLocalFileButton.setOnClickListener(
|
selectLocalFileButton.setOnClickListener(
|
||||||
view ->
|
view ->
|
||||||
selectLocalFile(
|
selectLocalFile(
|
||||||
view, checkNotNull(videoLocalFilePickerLauncher), /* mimeType= */ "video/*"));
|
checkNotNull(videoLocalFilePickerLauncher),
|
||||||
|
/* mimeTypes= */ new String[] {"image/*", "video/*", "audio/*"}));
|
||||||
|
|
||||||
selectedFileTextView = findViewById(R.id.selected_file_text_view);
|
selectedFileTextView = findViewById(R.id.selected_file_text_view);
|
||||||
selectedFileTextView.setText(PRESET_FILE_URI_DESCRIPTIONS[inputUriPosition]);
|
selectedFileTextView.setText(PRESET_FILE_URI_DESCRIPTIONS[inputUriPosition]);
|
||||||
@ -509,22 +510,23 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void selectLocalFile(
|
private void selectLocalFile(
|
||||||
View view, ActivityResultLauncher<Intent> localFilePickerLauncher, String mimeType) {
|
ActivityResultLauncher<Intent> localFilePickerLauncher, String[] mimeTypes) {
|
||||||
String permission = SDK_INT >= 33 ? READ_MEDIA_VIDEO : READ_EXTERNAL_STORAGE;
|
String permission = SDK_INT >= 33 ? READ_MEDIA_VIDEO : READ_EXTERNAL_STORAGE;
|
||||||
if (ActivityCompat.checkSelfPermission(/* context= */ this, permission)
|
if (ActivityCompat.checkSelfPermission(/* context= */ this, permission)
|
||||||
!= PackageManager.PERMISSION_GRANTED) {
|
!= PackageManager.PERMISSION_GRANTED) {
|
||||||
onPermissionsGranted = () -> launchLocalFilePicker(localFilePickerLauncher, mimeType);
|
onPermissionsGranted = () -> launchLocalFilePicker(localFilePickerLauncher, mimeTypes);
|
||||||
ActivityCompat.requestPermissions(
|
ActivityCompat.requestPermissions(
|
||||||
/* activity= */ this, new String[] {permission}, FILE_PERMISSION_REQUEST_CODE);
|
/* activity= */ this, new String[] {permission}, FILE_PERMISSION_REQUEST_CODE);
|
||||||
} else {
|
} else {
|
||||||
launchLocalFilePicker(localFilePickerLauncher, mimeType);
|
launchLocalFilePicker(localFilePickerLauncher, mimeTypes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void launchLocalFilePicker(
|
private void launchLocalFilePicker(
|
||||||
ActivityResultLauncher<Intent> localFilePickerLauncher, String mimeType) {
|
ActivityResultLauncher<Intent> localFilePickerLauncher, String[] mimeTypes) {
|
||||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||||
intent.setType(mimeType);
|
intent.setType("*/*");
|
||||||
|
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
|
||||||
checkNotNull(localFilePickerLauncher).launch(intent);
|
checkNotNull(localFilePickerLauncher).launch(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -740,7 +742,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
|||||||
uriButton.setOnClickListener(
|
uriButton.setOnClickListener(
|
||||||
(view ->
|
(view ->
|
||||||
selectLocalFile(
|
selectLocalFile(
|
||||||
view, checkNotNull(overlayLocalFilePickerLauncher), /* mimeType= */ "image/*")));
|
checkNotNull(overlayLocalFilePickerLauncher),
|
||||||
|
/* mimeTypes= */ new String[] {"image/*"})));
|
||||||
Slider alphaSlider = checkNotNull(dialogView.findViewById(R.id.bitmap_overlay_alpha_slider));
|
Slider alphaSlider = checkNotNull(dialogView.findViewById(R.id.bitmap_overlay_alpha_slider));
|
||||||
new AlertDialog.Builder(/* context= */ this)
|
new AlertDialog.Builder(/* context= */ this)
|
||||||
.setTitle(R.string.bitmap_overlay_settings)
|
.setTitle(R.string.bitmap_overlay_settings)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user