From 6b8f1b3cab8c46b4f9b1e677742d5b61742c59ec Mon Sep 17 00:00:00 2001 From: ve-sdk-android Date: Fri, 1 Mar 2024 09:18:18 +0100 Subject: [PATCH] Opening VE with Photo or Video on camera only --- .../example/integrationapp/MainActivity.kt | 26 ++++++++++++++ app/src/main/res/layout/activity_main.xml | 34 +++++++++++++++++-- 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/banuba/example/integrationapp/MainActivity.kt b/app/src/main/java/com/banuba/example/integrationapp/MainActivity.kt index c4883fb7..b324604b 100644 --- a/app/src/main/java/com/banuba/example/integrationapp/MainActivity.kt +++ b/app/src/main/java/com/banuba/example/integrationapp/MainActivity.kt @@ -10,7 +10,10 @@ import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.lifecycleScope import com.banuba.example.integrationapp.databinding.ActivityMainBinding +import com.banuba.sdk.cameraui.data.CameraConfig +import com.banuba.sdk.cameraui.data.CameraRecordingModesProvider import com.banuba.sdk.cameraui.data.PipConfig +import com.banuba.sdk.cameraui.ui.RecordMode import com.banuba.sdk.core.ui.ext.visible import com.banuba.sdk.export.data.ExportResult import com.banuba.sdk.export.utils.EXTRA_EXPORTED_SUCCESS @@ -18,6 +21,7 @@ import com.banuba.sdk.pe.PhotoCreationActivity import com.banuba.sdk.pe.PhotoExportResultContract import com.banuba.sdk.ve.flow.VideoCreationActivity import com.banuba.sdk.ve.flow.VideoExportResultContract +import org.koin.android.ext.android.inject class MainActivity : AppCompatActivity() { @@ -129,6 +133,12 @@ class MainActivity : AppCompatActivity() { // Start Photo Editor SDK photoEditorExportResult.launch(PhotoCreationActivity.startFromGallery(this@MainActivity)) } + binding.btnCameraVideoOnly.setOnClickListener { + startVideoEditorVideoOnCameraOnly() + } + binding.btnPhotoOnly.setOnClickListener { + startVideoEditorPhotoOnCameraOnly() + } } else { // ❌ Use of Video Editor is restricted. License is revoked or expired. binding.licenseStateView.text = SampleApp.ERR_LICENSE_REVOKED @@ -183,4 +193,20 @@ class MainActivity : AppCompatActivity() { (application as? SampleApp)?.prepareVideoEditor() videoEditorExportResult.launch(veIntent) } + + private fun startVideoEditorVideoOnCameraOnly() { + (application as? SampleApp)?.prepareVideoEditor() + val cameraRecordingModesProvider: CameraRecordingModesProvider by inject() + cameraRecordingModesProvider.availableModes = setOf(RecordMode.Video) + videoEditorExportResult.launch(VideoCreationActivity.startFromCamera(context = applicationContext)) + } + + private fun startVideoEditorPhotoOnCameraOnly() { + (application as? SampleApp)?.prepareVideoEditor() + val cameraRecordingModesProvider: CameraRecordingModesProvider by inject() + cameraRecordingModesProvider.availableModes = setOf(RecordMode.Photo) + val cameraConfig: CameraConfig by inject() + cameraConfig.supportsExternalMusic = false + videoEditorExportResult.launch(VideoCreationActivity.startFromCamera(context = applicationContext)) + } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 9537a2c2..3a650765 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -54,13 +54,43 @@ android:layout_marginTop="16dp" android:text="Open Video Editor - Trimmer" android:textSize="11sp" - app:layout_constraintBottom_toTopOf="@+id/btnOpenPhotoEditor" + app:layout_constraintBottom_toTopOf="@+id/btnCameraVideoOnly" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/btnDraftsVideoEditor" app:layout_constraintVertical_bias="0" /> + + + +