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" />
+
+
+
+