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:
parent
0d2fdcd025
commit
5e1bc6aa4f
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user