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(
|
||||
view ->
|
||||
selectLocalFile(
|
||||
view, checkNotNull(videoLocalFilePickerLauncher), /* mimeType= */ "video/*"));
|
||||
checkNotNull(videoLocalFilePickerLauncher),
|
||||
/* mimeTypes= */ new String[] {"image/*", "video/*", "audio/*"}));
|
||||
|
||||
selectedFileTextView = findViewById(R.id.selected_file_text_view);
|
||||
selectedFileTextView.setText(PRESET_FILE_URI_DESCRIPTIONS[inputUriPosition]);
|
||||
@ -509,22 +510,23 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
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;
|
||||
if (ActivityCompat.checkSelfPermission(/* context= */ this, permission)
|
||||
!= PackageManager.PERMISSION_GRANTED) {
|
||||
onPermissionsGranted = () -> launchLocalFilePicker(localFilePickerLauncher, mimeType);
|
||||
onPermissionsGranted = () -> launchLocalFilePicker(localFilePickerLauncher, mimeTypes);
|
||||
ActivityCompat.requestPermissions(
|
||||
/* activity= */ this, new String[] {permission}, FILE_PERMISSION_REQUEST_CODE);
|
||||
} else {
|
||||
launchLocalFilePicker(localFilePickerLauncher, mimeType);
|
||||
launchLocalFilePicker(localFilePickerLauncher, mimeTypes);
|
||||
}
|
||||
}
|
||||
|
||||
private void launchLocalFilePicker(
|
||||
ActivityResultLauncher<Intent> localFilePickerLauncher, String mimeType) {
|
||||
ActivityResultLauncher<Intent> localFilePickerLauncher, String[] mimeTypes) {
|
||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.setType(mimeType);
|
||||
intent.setType("*/*");
|
||||
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
|
||||
checkNotNull(localFilePickerLauncher).launch(intent);
|
||||
}
|
||||
|
||||
@ -740,7 +742,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
|
||||
uriButton.setOnClickListener(
|
||||
(view ->
|
||||
selectLocalFile(
|
||||
view, checkNotNull(overlayLocalFilePickerLauncher), /* mimeType= */ "image/*")));
|
||||
checkNotNull(overlayLocalFilePickerLauncher),
|
||||
/* mimeTypes= */ new String[] {"image/*"})));
|
||||
Slider alphaSlider = checkNotNull(dialogView.findViewById(R.id.bitmap_overlay_alpha_slider));
|
||||
new AlertDialog.Builder(/* context= */ this)
|
||||
.setTitle(R.string.bitmap_overlay_settings)
|
||||
|
Loading…
x
Reference in New Issue
Block a user