Rename "preset file" to "preset" in composition demo.

This change is made for consistency with transformer demo.

PiperOrigin-RevId: 641835714
This commit is contained in:
simakova 2024-06-10 02:45:41 -07:00 committed by Copybara-Service
parent 0d2fdcd025
commit 5e1bc6aa4f
2 changed files with 17 additions and 20 deletions

View File

@ -73,7 +73,7 @@ public final class CompositionPreviewActivity extends AppCompatActivity {
private final ArrayList<String> sequenceAssetTitles = new ArrayList<>(); private final ArrayList<String> sequenceAssetTitles = new ArrayList<>();
@Nullable private boolean[] selectedMediaItems = null; @Nullable private boolean[] selectedMediaItems = null;
private String[] presetFileDescriptions = new String[0]; private String[] presetDescriptions = new String[0];
@Nullable private AssetItemAdapter assetItemAdapter; @Nullable private AssetItemAdapter assetItemAdapter;
@Nullable private CompositionPlayer compositionPlayer; @Nullable private CompositionPlayer compositionPlayer;
@Nullable private Transformer transformer; @Nullable private Transformer transformer;
@ -90,7 +90,7 @@ public final class CompositionPreviewActivity extends AppCompatActivity {
playerView = findViewById(R.id.composition_player_view); playerView = findViewById(R.id.composition_player_view);
findViewById(R.id.preview_button).setOnClickListener(this::previewComposition); findViewById(R.id.preview_button).setOnClickListener(this::previewComposition);
findViewById(R.id.edit_sequence_button).setOnClickListener(this::selectPresetFile); findViewById(R.id.edit_sequence_button).setOnClickListener(this::selectPreset);
RecyclerView presetList = findViewById(R.id.composition_preset_list); RecyclerView presetList = findViewById(R.id.composition_preset_list);
presetList.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL)); presetList.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
LinearLayoutManager layoutManager = LinearLayoutManager layoutManager =
@ -101,14 +101,14 @@ public final class CompositionPreviewActivity extends AppCompatActivity {
exportButton = findViewById(R.id.composition_export_button); exportButton = findViewById(R.id.composition_export_button);
exportButton.setOnClickListener(this::exportComposition); exportButton.setOnClickListener(this::exportComposition);
presetFileDescriptions = getResources().getStringArray(R.array.preset_descriptions); presetDescriptions = getResources().getStringArray(R.array.preset_descriptions);
// Select two media items by default. // Select two media items by default.
selectedMediaItems = new boolean[presetFileDescriptions.length]; selectedMediaItems = new boolean[presetDescriptions.length];
selectedMediaItems[0] = true; selectedMediaItems[0] = true;
selectedMediaItems[2] = true; selectedMediaItems[2] = true;
for (int i = 0; i < checkNotNull(selectedMediaItems).length; i++) { for (int i = 0; i < checkNotNull(selectedMediaItems).length; i++) {
if (checkNotNull(selectedMediaItems)[i]) { if (checkNotNull(selectedMediaItems)[i]) {
sequenceAssetTitles.add(presetFileDescriptions[i]); sequenceAssetTitles.add(presetDescriptions[i]);
} }
} }
assetItemAdapter = new AssetItemAdapter(sequenceAssetTitles); assetItemAdapter = new AssetItemAdapter(sequenceAssetTitles);
@ -142,15 +142,14 @@ public final class CompositionPreviewActivity extends AppCompatActivity {
private Composition prepareComposition() { private Composition prepareComposition() {
// Reading from resources here does not create a performance bottleneck, this // Reading from resources here does not create a performance bottleneck, this
// method is called as part of more expensive operations. // method is called as part of more expensive operations.
String[] presetFileUris = getResources().getStringArray(/* id= */ R.array.preset_uris); String[] presetUris = getResources().getStringArray(/* id= */ R.array.preset_uris);
checkState( checkState(
/* expression= */ checkStateNotNull(presetFileUris).length == presetFileDescriptions.length, /* expression= */ checkStateNotNull(presetUris).length == presetDescriptions.length,
/* errorMessage= */ "Unexpected array length " /* errorMessage= */ "Unexpected array length "
+ getResources().getResourceName(R.array.preset_uris)); + getResources().getResourceName(R.array.preset_uris));
int[] presetDurationsUs = getResources().getIntArray(/* id= */ R.array.preset_durations); int[] presetDurationsUs = getResources().getIntArray(/* id= */ R.array.preset_durations);
checkState( checkState(
/* expression= */ checkStateNotNull(presetDurationsUs).length /* expression= */ checkStateNotNull(presetDurationsUs).length == presetDescriptions.length,
== presetFileDescriptions.length,
/* errorMessage= */ "Unexpected array length " /* errorMessage= */ "Unexpected array length "
+ getResources().getResourceName(R.array.preset_durations)); + getResources().getResourceName(R.array.preset_durations));
@ -164,7 +163,7 @@ public final class CompositionPreviewActivity extends AppCompatActivity {
pitchChanger.setPitch(mediaItems.size() % 2 == 0 ? 2f : 0.2f); pitchChanger.setPitch(mediaItems.size() % 2 == 0 ? 2f : 0.2f);
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder() new MediaItem.Builder()
.setUri(presetFileUris[i]) .setUri(presetUris[i])
.setImageDurationMs(Util.usToMs(presetDurationsUs[i])) // Ignored for audio/video .setImageDurationMs(Util.usToMs(presetDurationsUs[i])) // Ignored for audio/video
.build(); .build();
EditedMediaItem.Builder itemBuilder = EditedMediaItem.Builder itemBuilder =
@ -211,31 +210,29 @@ public final class CompositionPreviewActivity extends AppCompatActivity {
player.play(); player.play();
} }
private void selectPresetFile(View view) { private void selectPreset(View view) {
new AlertDialog.Builder(/* context= */ this) new AlertDialog.Builder(/* context= */ this)
.setTitle(R.string.select_preset_file_title) .setTitle(R.string.select_preset_title)
.setMultiChoiceItems( .setMultiChoiceItems(
presetFileDescriptions, presetDescriptions, checkNotNull(selectedMediaItems), this::selectPresetInDialog)
checkNotNull(selectedMediaItems),
this::selectPresetFileInDialog)
.setPositiveButton(android.R.string.ok, /* listener= */ null) .setPositiveButton(android.R.string.ok, /* listener= */ null)
.setCancelable(false) .setCancelable(false)
.create() .create()
.show(); .show();
} }
private void selectPresetFileInDialog(DialogInterface dialog, int which, boolean isChecked) { private void selectPresetInDialog(DialogInterface dialog, int which, boolean isChecked) {
if (selectedMediaItems == null) { if (selectedMediaItems == null) {
return; return;
} }
selectedMediaItems[which] = isChecked; selectedMediaItems[which] = isChecked;
// The items will be added to a the sequence in the order they were selected. // The items will be added to a the sequence in the order they were selected.
if (isChecked) { if (isChecked) {
sequenceAssetTitles.add(presetFileDescriptions[which]); sequenceAssetTitles.add(presetDescriptions[which]);
checkNotNull(assetItemAdapter).notifyItemInserted(sequenceAssetTitles.size() - 1); checkNotNull(assetItemAdapter).notifyItemInserted(sequenceAssetTitles.size() - 1);
} else { } else {
int index = sequenceAssetTitles.indexOf(presetFileDescriptions[which]); int index = sequenceAssetTitles.indexOf(presetDescriptions[which]);
sequenceAssetTitles.remove(presetFileDescriptions[which]); sequenceAssetTitles.remove(presetDescriptions[which]);
checkNotNull(assetItemAdapter).notifyItemRemoved(index); checkNotNull(assetItemAdapter).notifyItemRemoved(index);
} }
} }

View File

@ -19,7 +19,7 @@
<string name="preview" translatable="false">Preview</string> <string name="preview" translatable="false">Preview</string>
<string name="preview_single_sequence" translatable="false">Single sequence preview</string> <string name="preview_single_sequence" translatable="false">Single sequence preview</string>
<string name="single_sequence_items" translatable="false">Single sequence items:</string> <string name="single_sequence_items" translatable="false">Single sequence items:</string>
<string name="select_preset_file_title" translatable="false">Choose preset file</string> <string name="select_preset_title" translatable="false">Choose preset input</string>
<string name="export" translatable="false">Export</string> <string name="export" translatable="false">Export</string>
<string name="export_completed" translatable="false">Export completed in %.3f seconds.\nOutput: %s</string> <string name="export_completed" translatable="false">Export completed in %.3f seconds.\nOutput: %s</string>
<string name="export_error" translatable="false">Export error</string> <string name="export_error" translatable="false">Export error</string>