From 1f0074f743f31d79970208c2995ac1a24b9e6b5d Mon Sep 17 00:00:00 2001 From: ve-sdk-android Date: Fri, 16 Feb 2024 08:29:00 +0100 Subject: [PATCH] Add opening of gallery with different media types --- .../example/integrationapp/MainActivity.kt | 9 +++++ .../example/integrationapp/SampleApp.kt | 4 +++ .../integrationapp/VideoEditorModule.kt | 5 +++ app/src/main/res/layout/activity_main.xml | 35 +++++++++++++++++-- 4 files changed, 51 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 9613c07..6f4ce66 100644 --- a/app/src/main/java/com/banuba/example/integrationapp/MainActivity.kt +++ b/app/src/main/java/com/banuba/example/integrationapp/MainActivity.kt @@ -11,6 +11,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.lifecycleScope import com.banuba.example.integrationapp.databinding.ActivityMainBinding import com.banuba.sdk.cameraui.data.PipConfig +import com.banuba.sdk.core.media.MediaType import com.banuba.sdk.core.ui.ext.visible import com.banuba.sdk.export.data.ExportResult import com.banuba.sdk.export.utils.EXTRA_EXPORTED_SUCCESS @@ -128,6 +129,14 @@ class MainActivity : AppCompatActivity() { // Start Photo Editor SDK photoEditorExportResult.launch(PhotoCreationActivity.startFromGallery(this@MainActivity)) } + binding.btnOpenVEGalleryVideoOnly.setOnClickListener { + SampleApp.mediaTypes = listOf(MediaType.Video) + openVideoEditor() + } + binding.btnOpenVEGalleryPhotoOnly.setOnClickListener { + SampleApp.mediaTypes = listOf(MediaType.Image) + openVideoEditor() + } } else { // ❌ Use of Video Editor is restricted. License is revoked or expired. binding.licenseStateView.text = SampleApp.ERR_LICENSE_REVOKED diff --git a/app/src/main/java/com/banuba/example/integrationapp/SampleApp.kt b/app/src/main/java/com/banuba/example/integrationapp/SampleApp.kt index f44ed9f..7fb6b9f 100644 --- a/app/src/main/java/com/banuba/example/integrationapp/SampleApp.kt +++ b/app/src/main/java/com/banuba/example/integrationapp/SampleApp.kt @@ -4,6 +4,7 @@ import android.app.Application import android.util.Log import com.banuba.sdk.core.EditorUtilityManager import com.banuba.sdk.core.license.BanubaVideoEditor +import com.banuba.sdk.core.media.MediaType import org.koin.android.ext.android.getKoin import org.koin.core.context.stopKoin import org.koin.core.error.InstanceCreationException @@ -11,6 +12,9 @@ import org.koin.core.error.InstanceCreationException class SampleApp : Application() { companion object { + var mediaTypes = listOf(MediaType.Video) + + const val TAG = "BanubaVideoEditor" // Please set your license token for Banuba Video Editor SDK or Photo Editor SDK diff --git a/app/src/main/java/com/banuba/example/integrationapp/VideoEditorModule.kt b/app/src/main/java/com/banuba/example/integrationapp/VideoEditorModule.kt index 6f09c78..8b1c64b 100644 --- a/app/src/main/java/com/banuba/example/integrationapp/VideoEditorModule.kt +++ b/app/src/main/java/com/banuba/example/integrationapp/VideoEditorModule.kt @@ -25,6 +25,7 @@ import com.banuba.sdk.export.data.ExportParamsProvider import com.banuba.sdk.export.data.ForegroundExportFlowManager import com.banuba.sdk.export.di.VeExportKoinModule import com.banuba.sdk.gallery.di.GalleryKoinModule +import com.banuba.sdk.gallery.domain.GalleryMediaContentProvider import com.banuba.sdk.playback.di.VePlaybackSdkKoinModule import com.banuba.sdk.ve.di.VeSdkKoinModule import com.banuba.sdk.ve.domain.VideoRangeList @@ -113,6 +114,10 @@ private class SampleIntegrationKoinModule { exportFlowManager = get() ) } + + factory, Fragment>>(named("mediaDataProvider")) { (external: Boolean?) -> + GalleryMediaContentProvider(external ?: true, SampleApp.mediaTypes) + } } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 9537a2c..6db9e78 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -54,13 +54,44 @@ android:layout_marginTop="16dp" android:text="Open Video Editor - Trimmer" android:textSize="11sp" - app:layout_constraintBottom_toTopOf="@+id/btnOpenPhotoEditor" + app:layout_constraintBottom_toTopOf="@+id/btnOpenVEGalleryVideoOnly" 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" /> + + + + +