Skip to main content
Language:

Configure Adjustments

VideoEditor SDK supports several configuration options for the AdjustmentToolPanel allowing flexible adaptation to different needs and use cases.

Set available tools#

The default configuration includes several different tools.

For the sake of this example, we configure the list of adjustment tools by picking the first five default tools and adding the temperature tool manually.

Note how an AdjustOption also takes in a name and iconSource to further allow you to customize each adjustment as per your needs.

File:
class VideoAdjustmentConfiguration(private val activity: AppCompatActivity) : Example(activity) {
override fun invoke() {
// In this example, we do not need access to the Uri(s) after the editor is closed
// so we pass false in the constructor
val settingsList = VideoEditorSettingsList(false)
// Set the source as the Uri of the video to be loaded
.configure<LoadSettings> {
it.source = activity.resourceUri(R.raw.skater)
}
settingsList.configure<UiConfigAdjustment> {
val tools = it.optionList.subList(0, 5)
tools += AdjustOption(
AdjustmentToolPanel.OPTION_TEMPERATURE,
ly.img.android.pesdk.ui.adjustment.R.string.pesdk_adjustments_button_temperatureTool,
ImageSource.create(ly.img.android.pesdk.ui.adjustment.R.drawable.imgly_icon_option_tempature)
)
it.setOptionList(ArrayList(tools))
}
// Start the video editor using VideoEditorBuilder
// The result will be obtained in onActivityResult() corresponding to EDITOR_REQUEST_CODE
VideoEditorBuilder(activity)
.setSettingsList(settingsList)
.startActivityForResult(activity, EDITOR_REQUEST_CODE)
// Release the SettingsList once done
settingsList.release()
}
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
intent ?: return
if (requestCode == EDITOR_REQUEST_CODE) {
// Wrap the intent into an EditorSDKResult
val result = EditorSDKResult(intent)
when (result.resultStatus) {
EditorSDKResult.Status.CANCELED -> showMessage("Editor cancelled")
EditorSDKResult.Status.EXPORT_DONE -> showMessage("Result saved at ${result.resultUri}")
else -> {
}
}
}
}
}