├── .gitignore ├── .metadata ├── README.md ├── android ├── .gitignore ├── app │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ │ └── bnb-resources │ │ │ │ └── luts │ │ │ │ ├── bright.png │ │ │ │ ├── byers.png │ │ │ │ ├── canada.png │ │ │ │ ├── chile.png │ │ │ │ ├── chroma.png │ │ │ │ ├── egypt.png │ │ │ │ ├── england.png │ │ │ │ ├── glitch.png │ │ │ │ ├── grunge.png │ │ │ │ ├── hyla.png │ │ │ │ ├── instant.png │ │ │ │ ├── japan.png │ │ │ │ ├── korben.png │ │ │ │ ├── lilac.png │ │ │ │ ├── lux.png │ │ │ │ ├── neon.png │ │ │ │ ├── norway.png │ │ │ │ ├── pinkvine.png │ │ │ │ ├── remy.png │ │ │ │ ├── retro.png │ │ │ │ ├── spark.png │ │ │ │ ├── sunny.png │ │ │ │ ├── sunset.png │ │ │ │ ├── vinyl.png │ │ │ │ └── vivid.png │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── banuba │ │ │ │ └── flutter │ │ │ │ └── flutter_ve_sdk │ │ │ │ ├── AudioBrowserActivity.kt │ │ │ │ ├── AudioBrowserContentProvider.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ └── VideoEditorModule.kt │ │ └── res │ │ │ ├── drawable-xhdpi │ │ │ ├── bright.png │ │ │ ├── byers.png │ │ │ ├── canada.png │ │ │ ├── chile.png │ │ │ ├── chroma.png │ │ │ ├── egypt.png │ │ │ ├── england.png │ │ │ ├── glitch.png │ │ │ ├── grunge.png │ │ │ ├── hyla.png │ │ │ ├── instant.png │ │ │ ├── japan.png │ │ │ ├── korben.png │ │ │ ├── lilac.png │ │ │ ├── lux.png │ │ │ ├── neon.png │ │ │ ├── norway.png │ │ │ ├── pinkvine.png │ │ │ ├── remy.png │ │ │ ├── retro.png │ │ │ ├── spark.png │ │ │ ├── sunny.png │ │ │ ├── sunset.png │ │ │ ├── vinyl.png │ │ │ └── vivid.png │ │ │ ├── drawable-xxhdpi │ │ │ ├── bright.png │ │ │ ├── byers.png │ │ │ ├── canada.png │ │ │ ├── chile.png │ │ │ ├── chroma.png │ │ │ ├── egypt.png │ │ │ ├── england.png │ │ │ ├── glitch.png │ │ │ ├── grunge.png │ │ │ ├── hyla.png │ │ │ ├── instant.png │ │ │ ├── japan.png │ │ │ ├── korben.png │ │ │ ├── lilac.png │ │ │ ├── lux.png │ │ │ ├── neon.png │ │ │ ├── norway.png │ │ │ ├── pinkvine.png │ │ │ ├── remy.png │ │ │ ├── retro.png │ │ │ ├── spark.png │ │ │ ├── sunny.png │ │ │ ├── sunset.png │ │ │ ├── vinyl.png │ │ │ └── vivid.png │ │ │ ├── drawable-xxxhdpi │ │ │ ├── bright.png │ │ │ ├── byers.png │ │ │ ├── canada.png │ │ │ ├── chile.png │ │ │ ├── chroma.png │ │ │ ├── egypt.png │ │ │ ├── england.png │ │ │ ├── glitch.png │ │ │ ├── grunge.png │ │ │ ├── hyla.png │ │ │ ├── instant.png │ │ │ ├── japan.png │ │ │ ├── korben.png │ │ │ ├── lilac.png │ │ │ ├── lux.png │ │ │ ├── neon.png │ │ │ ├── norway.png │ │ │ ├── pinkvine.png │ │ │ ├── remy.png │ │ │ ├── retro.png │ │ │ ├── spark.png │ │ │ ├── sunny.png │ │ │ ├── sunset.png │ │ │ ├── vinyl.png │ │ │ └── vivid.png │ │ │ ├── drawable │ │ │ ├── ic_launcher_background.xml │ │ │ └── launch_background.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ ├── color.xml │ │ │ └── styles.xml │ │ │ └── xml │ │ │ └── provider_paths.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties └── settings.gradle ├── assets └── audio │ └── sample_audio.mp3 ├── ios ├── .gitignore ├── Flutter │ ├── .last_build_id │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ └── Release.xcconfig ├── Podfile ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ ├── Icon-App-20x20@1x.png │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-20x20@3x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@1x.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-40x40@3x.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ ├── ColorEffectsPreview │ │ │ ├── Contents.json │ │ │ ├── bright_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── bright@2x.jpg │ │ │ │ └── bright@3x.jpg │ │ │ ├── byers_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── byers@2x.jpg │ │ │ │ └── byers@3x.jpg │ │ │ ├── canada_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── canada@2x.jpg │ │ │ │ └── canada@3x.jpg │ │ │ ├── chile_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── chile@2x.jpg │ │ │ │ └── chile@3x.jpg │ │ │ ├── chroma_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── chroma@2x.jpg │ │ │ │ └── chroma@3x.jpg │ │ │ ├── effect.normal.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── Normal_filter@2x.png │ │ │ │ └── Normal_filter@3x.png │ │ │ ├── egypt_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── egypt@2x.jpg │ │ │ │ └── egypt@3x.jpg │ │ │ ├── england_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── england@2x.jpg │ │ │ │ └── england@3x.jpg │ │ │ ├── glitch_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── glitch@2x.jpg │ │ │ │ └── glitch@3x.jpg │ │ │ ├── grunge_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── grunge@2x.jpg │ │ │ │ └── grunge@3x.jpg │ │ │ ├── hyla_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── hyla@2x.jpg │ │ │ │ └── hyla@3x.jpg │ │ │ ├── instant_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── instant@2x.jpg │ │ │ │ └── instant@3x.jpg │ │ │ ├── japan_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── japan@2x.jpg │ │ │ │ └── japan@3x.jpg │ │ │ ├── korben_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── korben@2x.jpg │ │ │ │ └── korben@3x.jpg │ │ │ ├── lilac_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── lilac@2x.jpg │ │ │ │ └── lilac@3x.jpg │ │ │ ├── lux_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── lux@2x.jpg │ │ │ │ └── lux@3x.jpg │ │ │ ├── neon_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── Img 05_lut_neon_processed@2x.jpg │ │ │ │ └── Img 05_lut_neon_processed@3x.jpg │ │ │ ├── norway_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── Img 05_lut_norway_processed@2x.jpg │ │ │ │ └── Img 05_lut_norway_processed@3x.jpg │ │ │ ├── pinkvine_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── pinkvine@2x.jpg │ │ │ │ └── pinkvine@3x.jpg │ │ │ ├── remy_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── remy@2x.jpg │ │ │ │ └── remy@3x.jpg │ │ │ ├── retro_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── retro@2x.jpg │ │ │ │ └── retro@3x.jpg │ │ │ ├── spark_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── spark@2x.jpg │ │ │ │ └── spark@3x.jpg │ │ │ ├── sunny_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── sunny@2x.jpg │ │ │ │ └── sunny@3x.jpg │ │ │ ├── sunset_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── sunset@2x.jpg │ │ │ │ └── sunset@3x.jpg │ │ │ ├── vinyl_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── vinyl@2x.jpg │ │ │ │ └── vinyl@3x.jpg │ │ │ └── vivid_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── vivid@2x.jpg │ │ │ │ └── vivid@3x.jpg │ │ ├── Contents.json │ │ ├── EffectsPreview │ │ │ ├── 102000_preview.imageset │ │ │ │ ├── Acid-whip.png │ │ │ │ └── Contents.json │ │ │ ├── 102001_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── cathode.png │ │ │ ├── 102002_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_dv_cam.png │ │ │ ├── 102003_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── btn_flash2.png │ │ │ ├── 102004_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── glitch.png │ │ │ ├── 102005_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_glitch2.png │ │ │ ├── 102006_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_heatmap.png │ │ │ ├── 102007_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_lumiere.png │ │ │ ├── 102008_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_Kaleidoscope.png │ │ │ ├── 102009_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_dslrkaleidoscope.png │ │ │ ├── 102010_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_pixeldynamics.png │ │ │ ├── 102011_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_pixelstatics.png │ │ │ ├── 102012_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── polaroid.png │ │ │ ├── 102013_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── btn_rave2.png │ │ │ ├── 102014_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── btn_soul2.png │ │ │ ├── 102015_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_stars.png │ │ │ ├── 102016_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── btn_foamtv2.png │ │ │ ├── 102017_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_transition1.png │ │ │ ├── 102018_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_transition4.png │ │ │ ├── 102019_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── btn_vhs2.png │ │ │ ├── 102020_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_vhs2.png │ │ │ ├── 102021_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── zoom.png │ │ │ ├── 102022_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_zoom2.png │ │ │ ├── 102023_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── ic_glitch3.png │ │ │ ├── 104000_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── btn_slowmotion2.png │ │ │ ├── 104001_preview.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── btn_rapid2.png │ │ │ └── Contents.json │ │ └── LaunchImage.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ └── README.md │ ├── BanubaVideoEditorSDK-Info.plist │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── CustomViewFactory.swift │ ├── Info.plist │ ├── PhotoEditorModule.swift │ ├── Runner-Bridging-Header.h │ ├── VideoEditorModule.swift │ └── en.lproj │ │ └── Localizable.strings └── luts │ ├── bright.png │ ├── byers.png │ ├── canada.png │ ├── chile.png │ ├── chroma.png │ ├── egypt.png │ ├── england.png │ ├── glitch.png │ ├── grunge.png │ ├── hyla.png │ ├── instant.png │ ├── japan.png │ ├── korben.png │ ├── lilac.png │ ├── lux.png │ ├── neon.png │ ├── norway.png │ ├── pinkvine.png │ ├── remy.png │ ├── retro.png │ ├── spark.png │ ├── sunny.png │ ├── sunset.png │ ├── vinyl.png │ └── vivid.png ├── lib ├── audio_browser.dart ├── file_plugin.dart └── main.dart ├── mddocs ├── quickstart_pe_android.md ├── quickstart_pe_ios.md ├── quickstart_ve_android.md └── quickstart_ve_ios.md ├── pubspec.yaml └── test └── widget_test.dart /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | .dart_tool/ 26 | .flutter-plugins 27 | .flutter-plugins-dependencies 28 | .packages 29 | .pub-cache/ 30 | .pub/ 31 | **/build/ 32 | 33 | # Web related 34 | lib/generated_plugin_registrant.dart 35 | 36 | # Symbolication related 37 | app.*.symbols 38 | 39 | # Obfuscation related 40 | app.*.map.json 41 | 42 | # Exceptions to above rules. 43 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 44 | .vscode/launch.json 45 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: f7a6a7906be96d2288f5d63a5a54c515a6e987fe 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Banuba Video and Photo Editor SDK - Flutter integration sample 2 | 3 | ## Overview 4 | [Banuba Video Editor SDK](https://www.banuba.com/video-editor-sdk) allows you to quickly add short video functionality and possibly AR filters and effects into your mobile app. 5 | [Banuba AR Photo Editor SDK](https://www.banuba.com/photo-editor-sdk) allows you to quickly add the photo editing capabilities to your app. 6 | The sample demonstrates how to integrate Video and Photo Editor SDK to [Flutter](https://flutter.dev/) project. 7 | 8 | ## Usage 9 | ### License 10 | Before you commit to a license, you are free to test all the features of the SDK for free. 11 | The trial period lasts 14 days. To start it, [send us a message](https://www.banuba.com/video-editor-sdk#form). 12 | We will get back to you with the trial token. 13 | 14 | Feel free to [contact us](https://www.banuba.com/support) if you have any questions. 15 | 16 | ## Launch 17 | 18 | Set Banuba license token [within the app](lib/main.dart#L43) 19 | 20 | ### Android 21 | 1. Run ```flutter run``` in terminal to launch the sample app on a device or use IDE i.e. Intellij, VC, etc. to launch the app. 22 | 2. Follow [Video Editor](mddocs/quickstart_ve_android.md) and [Photo Editor](mddocs/quickstart_pe_android.md) quickstart guides to quickly integrate Video and Photo Editor SDK into your Flutter project on Android. 23 | 24 | ### iOS 25 | 1. Install CocoaPods dependencies. Open **ios** directory and run ```pod install``` in terminal. 26 | 2. Open **Signing & Capabilities** tab in Target settings and select your Development Team. 27 | 3. Run ```flutter run``` in terminal to launch the sample on a device or launch the app in IDE i.e. XCode, Intellij, VC, etc. 28 | 4. Follow [Video Editor](mddocs/quickstart_ve_ios.md) and [Photo Editor](mddocs/quickstart_pe_ios.md) quickstart guides to quickly integrate Video and Photo Editor SDK into your Flutter project on iOS. 29 | 30 | ## Dependencies 31 | | | Version | 32 | | --------- |:-------:| 33 | | Dart | 3.3.0 | 34 | | Flutter | 3.19.2 | 35 | | Android | 8.0+ | 36 | | iOS | 15.0+ | -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id "com.android.application" 3 | id "kotlin-android" 4 | id "dev.flutter.flutter-gradle-plugin" 5 | id "kotlin-parcelize" 6 | } 7 | 8 | def localProperties = new Properties() 9 | def localPropertiesFile = rootProject.file('local.properties') 10 | if (localPropertiesFile.exists()) { 11 | localPropertiesFile.withReader('UTF-8') { reader -> 12 | localProperties.load(reader) 13 | } 14 | } 15 | 16 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 17 | if (flutterVersionCode == null) { 18 | flutterVersionCode = '1' 19 | } 20 | 21 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 22 | if (flutterVersionName == null) { 23 | flutterVersionName = '1.0' 24 | } 25 | 26 | android { 27 | sourceSets { 28 | main.java.srcDirs += 'src/main/kotlin' 29 | } 30 | 31 | lintOptions { 32 | disable 'InvalidPackage' 33 | } 34 | 35 | namespace "com.banuba.flutter.flutter_ve_sdk" 36 | 37 | defaultConfig { 38 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 39 | applicationId "com.banuba.flutter.flutter_ve_sdk" 40 | minSdkVersion 26 41 | targetSdkVersion 35 42 | compileSdk 35 43 | versionCode flutterVersionCode.toInteger() 44 | versionName flutterVersionName 45 | 46 | buildToolsVersion "35.0.1" 47 | } 48 | 49 | buildTypes { 50 | release { 51 | // TODO: Add your own signing config for the release build. 52 | // Signing with the debug keys for now, so `flutter run --release` works. 53 | minifyEnabled true 54 | 55 | signingConfig signingConfigs.debug 56 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 57 | } 58 | } 59 | compileOptions { 60 | sourceCompatibility JavaVersion.VERSION_17 61 | targetCompatibility JavaVersion.VERSION_17 62 | } 63 | packagingOptions { 64 | pickFirst '**/libyuv.so' 65 | pickFirst '**/libbanuba-ve-yuv.so' 66 | 67 | jniLibs { 68 | // ! USE INSTEAD OF REMOVED android.bundle.enableUncompressedNativeLibs=false 69 | useLegacyPackaging = true 70 | } 71 | } 72 | kotlinOptions { 73 | jvmTarget = '17' 74 | } 75 | } 76 | 77 | flutter { 78 | source '../..' 79 | } 80 | 81 | dependencies { 82 | // Banuba Video Editor SDK dependencies 83 | def banubaSdkVersion = '1.43.0' 84 | implementation "com.banuba.sdk:ffmpeg:5.3.0" 85 | implementation "com.banuba.sdk:camera-sdk:${banubaSdkVersion}" 86 | implementation "com.banuba.sdk:camera-ui-sdk:${banubaSdkVersion}" 87 | implementation "com.banuba.sdk:core-sdk:${banubaSdkVersion}" 88 | implementation "com.banuba.sdk:core-ui-sdk:${banubaSdkVersion}" 89 | implementation "com.banuba.sdk:ve-flow-sdk:${banubaSdkVersion}" 90 | implementation "com.banuba.sdk:ve-sdk:${banubaSdkVersion}" 91 | implementation "com.banuba.sdk:ve-ui-sdk:${banubaSdkVersion}" 92 | implementation "com.banuba.sdk:ve-gallery-sdk:${banubaSdkVersion}" 93 | implementation "com.banuba.sdk:ve-effects-sdk:${banubaSdkVersion}" 94 | implementation "com.banuba.sdk:effect-player-adapter:${banubaSdkVersion}" 95 | implementation "com.banuba.sdk:ar-cloud:${banubaSdkVersion}" 96 | implementation "com.banuba.sdk:ve-audio-browser-sdk:${banubaSdkVersion}" 97 | implementation "com.banuba.sdk:ve-export-sdk:${banubaSdkVersion}" 98 | implementation "com.banuba.sdk:ve-playback-sdk:${banubaSdkVersion}" 99 | 100 | // Photo Editor SDK dependency 101 | // WARNING! 102 | // Remove this dependency if you only use Video Editor SDK 103 | def banubaPESdkVersion = '1.2.12' 104 | implementation "com.banuba.sdk:pe-sdk:${banubaPESdkVersion}" 105 | } 106 | -------------------------------------------------------------------------------- /android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add your app specific options. Do not obfuscard the SDK 2 | 3 | -keepattributes SourceFile,LineNumberTable 4 | -renamesourcefileattribute SourceFile 5 | 6 | # If you keep the line number information, uncomment this to 7 | # hide the original source file name. 8 | #-renamesourcefileattribute SourceFile 9 | 10 | -keep class com.banuba.sdk.core.effects.** { *; } 11 | -keep class com.banuba.sdk.effects.ve.speed.** { *; } 12 | 13 | -keep class kotlinx.android.extensions.** { *; } 14 | 15 | # The following rules are taken from generated "missing_rules.txt" file provided by R8 16 | # Please add these rules to your existing keep rules in order to suppress warnings. 17 | # This is generated automatically by the Android Gradle plugin. 18 | -dontwarn kotlinx.android.extensions.LayoutContainer 19 | -dontwarn kotlinx.parcelize.Parcelize 20 | -dontwarn org.bouncycastle.jsse.BCSSLParameters 21 | -dontwarn org.bouncycastle.jsse.BCSSLSocket 22 | -dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider 23 | -dontwarn org.conscrypt.Conscrypt$Version 24 | -dontwarn org.conscrypt.Conscrypt 25 | -dontwarn org.conscrypt.ConscryptHostnameVerifier 26 | -dontwarn org.openjsse.javax.net.ssl.SSLParameters 27 | -dontwarn org.openjsse.javax.net.ssl.SSLSocket 28 | -dontwarn org.openjsse.net.ssl.OpenJSSE -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 27 | 31 | 35 | 40 | 44 | 45 | 46 | 47 | 48 | 49 | 51 | 52 | 58 | 59 | 60 | 62 | 63 | 66 | 67 | 71 | 76 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/bright.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/byers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/byers.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/canada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/canada.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/chile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/chile.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/chroma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/chroma.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/egypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/egypt.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/england.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/england.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/glitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/glitch.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/grunge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/grunge.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/hyla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/hyla.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/instant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/instant.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/japan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/japan.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/korben.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/korben.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/lilac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/lilac.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/lux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/lux.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/neon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/neon.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/norway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/norway.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/pinkvine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/pinkvine.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/remy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/remy.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/retro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/retro.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/spark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/spark.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/sunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/sunny.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/sunset.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/vinyl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/vinyl.png -------------------------------------------------------------------------------- /android/app/src/main/assets/bnb-resources/luts/vivid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/assets/bnb-resources/luts/vivid.png -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/banuba/flutter/flutter_ve_sdk/AudioBrowserActivity.kt: -------------------------------------------------------------------------------- 1 | package com.banuba.flutter.flutter_ve_sdk 2 | 3 | import android.content.Intent 4 | import android.net.Uri 5 | import android.os.Bundle 6 | import android.util.Log 7 | import com.banuba.sdk.core.data.TrackData 8 | import com.banuba.sdk.core.domain.ProvideTrackContract 9 | import io.flutter.embedding.android.FlutterActivity 10 | import io.flutter.plugin.common.MethodChannel 11 | import org.json.JSONObject 12 | import java.util.UUID 13 | 14 | /** 15 | * Sample Android Activity that demonstrates how to implement the simplest custom audio browser integration. 16 | * This implementation is required as a contract of VE SDK for managing audio track. 17 | * Use cases: 18 | * 19 | * 1. There is custom screen implemented on Flutter that shows list of audio tracks. The user can 20 | * select, unselect audio or close the screen. All these actions should be delivered to Video Editor SDK. 21 | * 22 | * 2. The user selected audio track and navigates to custom audio browser screen again. 23 | * Last used audio track is passed from Video Editor SDK to custom audio browser so that 24 | * you could highlight current audio to the user on your screen. See "lastAudioTrack" variable. 25 | */ 26 | class AudioBrowserActivity : FlutterActivity() { 27 | 28 | companion object { 29 | private const val TAG = "AudioBrowserActivity" 30 | 31 | private const val FLUTTER_ENTRY_POINT = "audioBrowser" 32 | 33 | private const val CHANNEL_AUDIO_BROWSER = "audioBrowserChannel" 34 | private const val METHOD_APPLY_AUDIO_TRACK = "applyAudioTrack" 35 | private const val METHOD_DISCARD_AUDIO_TRACK = "discardAudioTrack" 36 | private const val METHOD_CLOSE = "close" 37 | } 38 | 39 | private var lastAudioTrack: TrackData? = null 40 | private var audioBrowserChanelResult: MethodChannel.Result? = null 41 | 42 | override fun getDartEntrypointFunctionName(): String = FLUTTER_ENTRY_POINT 43 | 44 | override fun onCreate(savedInstanceState: Bundle?) { 45 | super.onCreate(savedInstanceState) 46 | 47 | Log.d(TAG, "AudioBrowserActivity. onCreate"); 48 | 49 | handleLastUsedAudio() 50 | 51 | val appFlutterEngine = requireNotNull(flutterEngine) 52 | 53 | MethodChannel( 54 | appFlutterEngine.dartExecutor.binaryMessenger, 55 | CHANNEL_AUDIO_BROWSER 56 | ).setMethodCallHandler { call, result -> 57 | audioBrowserChanelResult = result 58 | when (call.method) { 59 | METHOD_APPLY_AUDIO_TRACK -> { 60 | val rawJson = call.arguments as String 61 | 62 | /* 63 | rawJson format 64 | { 65 | "url": "file:///storage/emulated/0/Android/data/com.banuba.flutter.flutter_ve_sdk/files/sample_audio.mp3", 66 | "id": "b238d460-6455-11ed-99ea-0741c437b7af", 67 | "artist": "The best artist", 68 | "title": "My favorite song" 69 | } 70 | */ 71 | val trackJson = JSONObject(rawJson) 72 | val trackData = TrackData( 73 | localUri = Uri.parse(trackJson.getString("url")), 74 | id = UUID.fromString(trackJson.getString("id")), 75 | title = trackJson.getString("title"), 76 | artist = trackJson.getString("artist") 77 | ) 78 | handleAudioTrack(trackData) 79 | } 80 | 81 | METHOD_DISCARD_AUDIO_TRACK -> handleAudioTrack(null) 82 | 83 | METHOD_CLOSE -> handleAudioTrack(lastAudioTrack) 84 | } 85 | } 86 | } 87 | 88 | private fun handleAudioTrack(audioTrack: TrackData?) { 89 | if (audioTrack == null) { 90 | // Video Editor SDK will cancel previous used audio. 91 | setResult(RESULT_CANCELED, null) 92 | } else { 93 | // Video Editor SDK will play this audio. 94 | val resultIntent = Intent() 95 | resultIntent.putExtra(ProvideTrackContract.EXTRA_RESULT_TRACK_DATA, audioTrack) 96 | setResult(RESULT_OK, resultIntent) 97 | } 98 | 99 | finish() 100 | audioBrowserChanelResult?.success(null) 101 | } 102 | 103 | private fun handleLastUsedAudio() { 104 | lastAudioTrack = intent.getParcelableExtra("EXTRA_LAST_PROVIDED_TRACK") 105 | 106 | Log.d(TAG, "Handle last used audio = $lastAudioTrack") 107 | if (lastAudioTrack != null) { 108 | val lastAudioPath = requireNotNull(lastAudioTrack).localUri.toString() 109 | // Pass lastAudioPath to Flutter side to highlight the choice to the user. 110 | } 111 | } 112 | } -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/banuba/flutter/flutter_ve_sdk/AudioBrowserContentProvider.kt: -------------------------------------------------------------------------------- 1 | package com.banuba.flutter.flutter_ve_sdk 2 | 3 | import android.content.Context 4 | import android.content.Intent 5 | import android.os.Bundle 6 | import androidx.activity.result.ActivityResultLauncher 7 | import androidx.fragment.app.Fragment 8 | import com.banuba.sdk.core.data.TrackData 9 | import com.banuba.sdk.core.domain.ProvideTrackContract 10 | import com.banuba.sdk.core.ui.ContentFeatureProvider 11 | import io.flutter.embedding.engine.dart.DartExecutor 12 | import java.lang.ref.WeakReference 13 | 14 | // Video Editor SDK contract for using custom Audio Browser implementation. 15 | // Please read more details in AudioBrowserActivity.kt 16 | class AudioBrowserContentProvider : ContentFeatureProvider { 17 | 18 | private var activityResultLauncher: ActivityResultLauncher? = null 19 | 20 | private val activityResultCallback: (TrackData?) -> Unit = { 21 | activityResultCallbackInternal(it) 22 | } 23 | private var activityResultCallbackInternal: (TrackData?) -> Unit = {} 24 | 25 | override fun init(hostFragment: WeakReference) { 26 | activityResultLauncher = hostFragment.get()?.registerForActivityResult( 27 | ProvideTrackContract(), 28 | activityResultCallback 29 | ) 30 | } 31 | 32 | override fun requestContent( 33 | context: Context, 34 | extras: Bundle 35 | ): ContentFeatureProvider.Result { 36 | val dataIntent = 37 | Intent(context, AudioBrowserActivity::class.java).apply { putExtras(extras) } 38 | return ContentFeatureProvider.Result.RequestUi(dataIntent) 39 | } 40 | 41 | override fun handleResult( 42 | hostFragment: WeakReference, 43 | intent: Intent, 44 | block: (TrackData?) -> Unit 45 | ) { 46 | activityResultCallbackInternal = block 47 | activityResultLauncher?.launch(intent) 48 | } 49 | } -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/banuba/flutter/flutter_ve_sdk/VideoEditorModule.kt: -------------------------------------------------------------------------------- 1 | package com.banuba.flutter.flutter_ve_sdk 2 | 3 | import android.app.Application 4 | import androidx.fragment.app.Fragment 5 | import com.banuba.sdk.arcloud.data.source.ArEffectsRepositoryProvider 6 | import com.banuba.sdk.arcloud.di.ArCloudKoinModule 7 | import com.banuba.sdk.audiobrowser.di.AudioBrowserKoinModule 8 | import com.banuba.sdk.audiobrowser.domain.AudioBrowserMusicProvider 9 | import com.banuba.sdk.core.data.TrackData 10 | import com.banuba.sdk.core.ui.ContentFeatureProvider 11 | import com.banuba.sdk.effectplayer.adapter.BanubaEffectPlayerKoinModule 12 | import com.banuba.sdk.export.di.VeExportKoinModule 13 | import com.banuba.sdk.gallery.di.GalleryKoinModule 14 | import com.banuba.sdk.playback.di.VePlaybackSdkKoinModule 15 | import com.banuba.sdk.ve.di.VeSdkKoinModule 16 | import com.banuba.sdk.ve.flow.di.VeFlowKoinModule 17 | import com.banuba.sdk.veui.di.VeUiSdkKoinModule 18 | import org.koin.android.ext.koin.androidContext 19 | import org.koin.core.context.startKoin 20 | import org.koin.core.qualifier.named 21 | import org.koin.dsl.module 22 | 23 | class VideoEditorModule { 24 | 25 | fun initialize(application: Application) { 26 | startKoin { 27 | androidContext(application) 28 | allowOverride(true) 29 | 30 | // IMPORTANT! order of modules is required 31 | modules( 32 | VeSdkKoinModule().module, 33 | VeExportKoinModule().module, 34 | VePlaybackSdkKoinModule().module, 35 | 36 | // Use AudioBrowserKoinModule ONLY if your contract includes this feature. 37 | AudioBrowserKoinModule().module, 38 | 39 | // IMPORTANT! ArCloudKoinModule should be set before TokenStorageKoinModule to get effects from the cloud 40 | ArCloudKoinModule().module, 41 | 42 | VeUiSdkKoinModule().module, 43 | VeFlowKoinModule().module, 44 | BanubaEffectPlayerKoinModule().module, 45 | GalleryKoinModule().module, 46 | 47 | // Sample integration module 48 | SampleIntegrationVeKoinModule().module, 49 | ) 50 | } 51 | } 52 | } 53 | 54 | /** 55 | * All dependencies mentioned in this module will override default 56 | * implementations provided in VE UI SDK. 57 | * Some dependencies has no default implementations. It means that 58 | * these classes fully depends on your requirements 59 | */ 60 | private class SampleIntegrationVeKoinModule { 61 | 62 | val module = module { 63 | single(createdAtStart = true) { 64 | ArEffectsRepositoryProvider( 65 | arEffectsRepository = get(named("backendArEffectsRepository")), 66 | ioDispatcher = get(named("ioDispatcher")) 67 | ) 68 | } 69 | 70 | 71 | // Audio Browser provider implementation. 72 | single>( 73 | named("musicTrackProvider") 74 | ) { 75 | if (MainActivity.CONFIG_ENABLE_CUSTOM_AUDIO_BROWSER) { 76 | AudioBrowserContentProvider() 77 | } else { 78 | // Default implementation that supports Soundstripe, Mubert and Local audio stored on the device 79 | AudioBrowserMusicProvider() 80 | } 81 | } 82 | } 83 | } -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/bright.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/byers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/byers.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/canada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/canada.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/chile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/chile.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/chroma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/chroma.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/egypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/egypt.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/england.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/england.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/glitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/glitch.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/grunge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/grunge.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/hyla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/hyla.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/instant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/instant.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/japan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/japan.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/korben.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/korben.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/lilac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/lilac.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/lux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/lux.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/neon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/neon.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/norway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/norway.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/pinkvine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/pinkvine.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/remy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/remy.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/retro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/retro.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/spark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/spark.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/sunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/sunny.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/sunset.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/vinyl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/vinyl.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/vivid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xhdpi/vivid.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/bright.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/byers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/byers.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/canada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/canada.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/chile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/chile.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/chroma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/chroma.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/egypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/egypt.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/england.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/england.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/glitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/glitch.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/grunge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/grunge.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/hyla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/hyla.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/instant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/instant.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/japan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/japan.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/korben.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/korben.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/lilac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/lilac.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/lux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/lux.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/neon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/neon.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/norway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/norway.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/pinkvine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/pinkvine.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/remy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/remy.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/retro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/retro.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/spark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/spark.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/sunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/sunny.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/sunset.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/vinyl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/vinyl.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/vivid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxhdpi/vivid.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/bright.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/byers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/byers.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/canada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/canada.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/chile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/chile.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/chroma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/chroma.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/egypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/egypt.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/england.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/england.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/glitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/glitch.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/grunge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/grunge.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/hyla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/hyla.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/instant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/instant.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/japan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/japan.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/korben.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/korben.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/lilac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/lilac.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/lux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/lux.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/neon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/neon.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/norway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/norway.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/pinkvine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/pinkvine.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/remy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/remy.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/retro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/retro.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/spark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/spark.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/sunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/sunny.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/sunset.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/vinyl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/vinyl.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/vivid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/drawable-xxxhdpi/vivid.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | 25 | 26 | 28 | 126 | 127 | -------------------------------------------------------------------------------- /android/app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | repositories { 3 | maven { 4 | name = "GitHubPackages" 5 | url = uri("https://maven.pkg.github.com/Banuba/banuba-ve-sdk") 6 | credentials { 7 | username = "Banuba" 8 | password = "\u0038\u0036\u0032\u0037\u0063\u0035\u0031\u0030\u0033\u0034\u0032\u0063\u0061\u0033\u0065\u0061\u0031\u0032\u0034\u0064\u0065\u0066\u0039\u0062\u0034\u0030\u0063\u0063\u0037\u0039\u0038\u0063\u0038\u0038\u0066\u0034\u0031\u0032\u0061\u0038" 9 | } 10 | } 11 | maven { 12 | name = "ARCloudPackages" 13 | url = uri("https://maven.pkg.github.com/Banuba/banuba-ar") 14 | credentials { 15 | username = "Banuba" 16 | password = "\u0038\u0036\u0032\u0037\u0063\u0035\u0031\u0030\u0033\u0034\u0032\u0063\u0061\u0033\u0065\u0061\u0031\u0032\u0034\u0064\u0065\u0066\u0039\u0062\u0034\u0030\u0063\u0063\u0037\u0039\u0038\u0063\u0038\u0038\u0066\u0034\u0031\u0032\u0061\u0038" 17 | } 18 | } 19 | maven { 20 | name "GitHubPackagesEffectPlayer" 21 | url "https://maven.pkg.github.com/sdk-banuba/banuba-sdk-android" 22 | credentials { 23 | username = "sdk-banuba" 24 | password = "\u0067\u0068\u0070\u005f\u004a\u0067\u0044\u0052\u0079\u0049\u0032\u006d\u0032\u004e\u0055\u0059\u006f\u0033\u0033\u006b\u0072\u0034\u0049\u0069\u0039\u0049\u006f\u006d\u0077\u0034\u0052\u0057\u0043\u0064\u0030\u0052\u0078\u006d\u0045\u0069" 25 | } 26 | } 27 | maven { 28 | url 'https://storage.googleapis.com/download.flutter.io' 29 | } 30 | google() 31 | jcenter() 32 | } 33 | } 34 | 35 | rootProject.buildDir = '../build' 36 | subprojects { 37 | project.buildDir = "${rootProject.buildDir}/${project.name}" 38 | } 39 | subprojects { 40 | project.evaluationDependsOn(':app') 41 | } 42 | 43 | tasks.register("clean", Delete) { 44 | delete rootProject.buildDir 45 | } 46 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4096M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | # moshi-1.13.0 in black because compilation fail issue 5 | # For Android Gradle plugin version 7.0+ the android.jetifier.blacklist is deprecated, 6 | # so android.jetifier.ignorelist should be used instead 7 | android.jetifier.ignorelist=moshi-1.13.0 8 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip 7 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | def flutterSdkPath = { 3 | def properties = new Properties() 4 | file("local.properties").withInputStream { properties.load(it) } 5 | def flutterSdkPath = properties.getProperty("flutter.sdk") 6 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 7 | return flutterSdkPath 8 | }() 9 | 10 | includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") 11 | 12 | repositories { 13 | google() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | plugins { 20 | id "dev.flutter.flutter-plugin-loader" version "1.0.0" 21 | id "com.android.application" version "8.1.2" apply false 22 | id "org.jetbrains.kotlin.android" version "2.1.0" apply false 23 | } 24 | 25 | include ':app' 26 | -------------------------------------------------------------------------------- /assets/audio/sample_audio.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/assets/audio/sample_audio.mp3 -------------------------------------------------------------------------------- /ios/.gitignore: -------------------------------------------------------------------------------- 1 | *.mode1v3 2 | *.mode2v3 3 | *.moved-aside 4 | *.pbxuser 5 | *.perspectivev3 6 | **/*sync/ 7 | .sconsign.dblite 8 | .tags* 9 | **/.vagrant/ 10 | **/DerivedData/ 11 | Icon? 12 | **/Pods/ 13 | **/.symlinks/ 14 | profile 15 | xcuserdata 16 | .DS_Store 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/app.flx 23 | Flutter/app.zip 24 | Flutter/flutter_assets/ 25 | Flutter/flutter_export_environment.sh 26 | ServiceDefinitions.json 27 | Runner/GeneratedPluginRegistrant.* 28 | 29 | # Exceptions to above rules. 30 | !default.mode1v3 31 | !default.mode2v3 32 | !default.pbxuser 33 | !default.perspectivev3 34 | -------------------------------------------------------------------------------- /ios/Flutter/.last_build_id: -------------------------------------------------------------------------------- 1 | 649437929c97eae75beea51bfaa352cf -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 9.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | source 'https://github.com/CocoaPods/Specs.git' 2 | source 'https://github.com/Banuba/specs.git' 3 | source 'https://github.com/sdk-banuba/banuba-sdk-podspecs.git' 4 | 5 | platform :ios, '15.0' 6 | 7 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency. 8 | ENV['COCOAPODS_DISABLE_STATS'] = 'true' 9 | 10 | project 'Runner', { 11 | 'Debug' => :debug, 12 | 'Profile' => :release, 13 | 'Release' => :release, 14 | } 15 | 16 | def flutter_root 17 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) 18 | unless File.exist?(generated_xcode_build_settings_path) 19 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" 20 | end 21 | 22 | File.foreach(generated_xcode_build_settings_path) do |line| 23 | matches = line.match(/FLUTTER_ROOT\=(.*)/) 24 | return matches[1].strip if matches 25 | end 26 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" 27 | end 28 | 29 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) 30 | 31 | flutter_ios_podfile_setup 32 | 33 | target 'Runner' do 34 | use_frameworks! 35 | use_modular_headers! 36 | 37 | sdk_version = '1.43.0' 38 | 39 | pod 'BanubaVideoEditorSDK', sdk_version 40 | pod 'BanubaSDKSimple', sdk_version 41 | pod 'BanubaSDK', sdk_version 42 | pod 'BanubaARCloudSDK', sdk_version # optional 43 | pod 'BanubaAudioBrowserSDK', sdk_version # optional 44 | 45 | pod 'BanubaPhotoEditorSDK', '1.2.8' 46 | 47 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) 48 | end 49 | 50 | post_install do |installer| 51 | installer.pods_project.targets.each do |target| 52 | flutter_additional_ios_build_settings(target) 53 | end 54 | end 55 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 37 | 38 | 39 | 40 | 41 | 42 | 52 | 54 | 60 | 61 | 62 | 63 | 69 | 71 | 77 | 78 | 79 | 80 | 82 | 83 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | import AVKit 4 | import BanubaAudioBrowserSDK 5 | import BanubaPhotoEditorSDK 6 | 7 | @UIApplicationMain 8 | @objc class AppDelegate: FlutterAppDelegate { 9 | /* 10 | true - uses custom audio browser implementation in this sample. 11 | false - to keep default implementation. 12 | */ 13 | private let configEnableCustomAudioBrowser = false 14 | 15 | 16 | lazy var audioBrowserFlutterEngine = FlutterEngine(name: "audioBrowserEngine") 17 | 18 | // Video Editor Methods 19 | static let methodInitVideoEditor = "initVideoEditor" 20 | static let methodStartVideoEditor = "startVideoEditor" 21 | static let methodStartVideoEditorPIP = "startVideoEditorPIP" 22 | static let methodStartVideoEditorTrimmer = "startVideoEditorTrimmer" 23 | static let methodDemoPlayExportedVideo = "playExportedVideo" 24 | 25 | static let argExportedVideoFile = "argExportedVideoFilePath" 26 | static let argExportedVideoCoverPreviewPath = "argExportedVideoCoverPreviewPath" 27 | 28 | // Photo Editor Methods 29 | static let methodInitPhotoEditor = "initPhotoEditor" 30 | static let methodStartPhotoEditor = "startPhotoEditor" 31 | static let argExportedPhotoFile = "argExportedPhotoFilePath" 32 | 33 | static let errEditorNotInitialized = "ERR_SDK_NOT_INITIALIZED" 34 | 35 | override func application( 36 | _ application: UIApplication, 37 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 38 | ) -> Bool { 39 | let videoEditor = VideoEditorModule() 40 | var photoEditor: PhotoEditorModule? 41 | 42 | if let controller = window?.rootViewController as? FlutterViewController, 43 | let binaryMessenger = controller as? FlutterBinaryMessenger { 44 | 45 | let channel = FlutterMethodChannel( 46 | name: "banubaSdkChannel", 47 | binaryMessenger: binaryMessenger 48 | ) 49 | 50 | channel.setMethodCallHandler { methodCall, result in 51 | let call = methodCall.method 52 | switch call { 53 | case AppDelegate.methodInitVideoEditor: 54 | let token = methodCall.arguments as? String 55 | videoEditor.initVideoEditor( 56 | token: token, 57 | flutterResult: result 58 | ) 59 | case AppDelegate.methodStartVideoEditor: 60 | videoEditor.openVideoEditorDefault( 61 | fromViewController: controller, 62 | flutterResult: result 63 | ) 64 | case AppDelegate.methodStartVideoEditorPIP: 65 | let pipVideoFilePath = methodCall.arguments as? String 66 | 67 | if let videoFilePath = pipVideoFilePath { 68 | videoEditor.openVideoEditorPIP( 69 | fromViewController: controller, 70 | videoURL: URL(fileURLWithPath: videoFilePath), 71 | flutterResult: result 72 | ) 73 | } else { 74 | print("Cannot start video editor in PIP mode: missing or invalid video!") 75 | result(FlutterError(code: "ERR_START_PIP_MISSING_VIDEO", message: "", details: nil)) 76 | } 77 | case AppDelegate.methodDemoPlayExportedVideo: 78 | /* 79 | NOT REQUIRED FOR INTEGRATION 80 | Added for playing exported video file. 81 | */ 82 | let demoPlayVideoFilePath = methodCall.arguments as? String 83 | 84 | if let videoFilePath = demoPlayVideoFilePath { 85 | self.demoPlayExportedVideo(controller: controller, videoURL: URL(fileURLWithPath: videoFilePath)) 86 | } else { 87 | result(FlutterError(code: "ERR_EXPORT_PLAY_MISSING_VIDEO", message: "", details: nil)) 88 | } 89 | case AppDelegate.methodStartVideoEditorTrimmer: 90 | let trimmerVideoFilePath = methodCall.arguments as? String 91 | 92 | if let videoFilePath = trimmerVideoFilePath { 93 | videoEditor.openVideoEditorTrimmer( 94 | fromViewController: controller, 95 | videoURL: URL(fileURLWithPath: videoFilePath), 96 | flutterResult: result 97 | ) 98 | } else { 99 | print("Cannot start video editor in trimmer mode: missing or invalid video!") 100 | result(FlutterError(code: "ERR_START_TRIMMER_MISSING_VIDEO", message: "", details: nil)) 101 | } 102 | case AppDelegate.methodInitPhotoEditor: 103 | guard let token = methodCall.arguments as? String else { 104 | print("Missing token") 105 | return 106 | } 107 | photoEditor = PhotoEditorModule( 108 | token: token, 109 | flutterResult: result 110 | ) 111 | 112 | case AppDelegate.methodStartPhotoEditor: 113 | if let photoEditor = photoEditor { 114 | photoEditor.presentPhotoEditor( 115 | fromViewController: controller, 116 | flutterResult: result 117 | ) 118 | } else { 119 | print("The Photo Editor is not initialized") 120 | result(FlutterError(code: AppDelegate.errEditorNotInitialized, message: "", details: nil)) 121 | } 122 | default: 123 | print("Flutter method is not implemented on platform.") 124 | result(FlutterMethodNotImplemented) 125 | } 126 | } 127 | } 128 | GeneratedPluginRegistrant.register(with: self) 129 | 130 | // Register audio browser engine 131 | audioBrowserFlutterEngine.run(withEntrypoint: "audioBrowser") 132 | GeneratedPluginRegistrant.register(with: audioBrowserFlutterEngine) 133 | 134 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 135 | } 136 | 137 | // Custom View Factory is used to provide you custom UI/UX experience in Video Editor SDK 138 | // i.e. custom audio browser 139 | func provideCustomViewFactory() -> FlutterCustomViewFactory? { 140 | let factory: FlutterCustomViewFactory? 141 | 142 | if configEnableCustomAudioBrowser { 143 | factory = FlutterCustomViewFactory() 144 | } else { 145 | // Set your Mubert Api key here 146 | let mubertApiLicense = "" 147 | let mubertApiKey = "" 148 | AudioBrowserConfig.shared.musicSource = .allSources 149 | BanubaAudioBrowser.setMubertKeys( 150 | license: mubertApiLicense, 151 | token: mubertApiKey 152 | ) 153 | factory = nil 154 | } 155 | 156 | return factory 157 | } 158 | 159 | /* 160 | NOT REQUIRED FOR INTEGRATION 161 | Added for playing exported video file. 162 | */ 163 | private func demoPlayExportedVideo(controller: FlutterViewController, videoURL: URL) { 164 | let player = AVPlayer(url: videoURL) 165 | let vc = AVPlayerViewController() 166 | vc.player = player 167 | 168 | controller.present(vc, animated: true) { 169 | vc.player?.play() 170 | } 171 | } 172 | } 173 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "Icon-App-20x20@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "Icon-App-20x20@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "Icon-App-29x29@1x.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "Icon-App-29x29@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "Icon-App-29x29@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "Icon-App-40x40@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "Icon-App-40x40@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "Icon-App-60x60@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "Icon-App-60x60@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "20x20", 59 | "idiom" : "ipad", 60 | "filename" : "Icon-App-20x20@1x.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "20x20", 65 | "idiom" : "ipad", 66 | "filename" : "Icon-App-20x20@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "29x29", 71 | "idiom" : "ipad", 72 | "filename" : "Icon-App-29x29@1x.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "29x29", 77 | "idiom" : "ipad", 78 | "filename" : "Icon-App-29x29@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "40x40", 83 | "idiom" : "ipad", 84 | "filename" : "Icon-App-40x40@1x.png", 85 | "scale" : "1x" 86 | }, 87 | { 88 | "size" : "40x40", 89 | "idiom" : "ipad", 90 | "filename" : "Icon-App-40x40@2x.png", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "size" : "76x76", 95 | "idiom" : "ipad", 96 | "filename" : "Icon-App-76x76@1x.png", 97 | "scale" : "1x" 98 | }, 99 | { 100 | "size" : "76x76", 101 | "idiom" : "ipad", 102 | "filename" : "Icon-App-76x76@2x.png", 103 | "scale" : "2x" 104 | }, 105 | { 106 | "size" : "83.5x83.5", 107 | "idiom" : "ipad", 108 | "filename" : "Icon-App-83.5x83.5@2x.png", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "size" : "1024x1024", 113 | "idiom" : "ios-marketing", 114 | "filename" : "Icon-App-1024x1024@1x.png", 115 | "scale" : "1x" 116 | } 117 | ], 118 | "info" : { 119 | "version" : 1, 120 | "author" : "xcode" 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/bright_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "bright@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "bright@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/bright_preview.imageset/bright@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/bright_preview.imageset/bright@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/bright_preview.imageset/bright@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/bright_preview.imageset/bright@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/byers_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "byers@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "byers@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/byers_preview.imageset/byers@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/byers_preview.imageset/byers@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/byers_preview.imageset/byers@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/byers_preview.imageset/byers@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/canada_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "canada@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "canada@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/canada_preview.imageset/canada@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/canada_preview.imageset/canada@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/canada_preview.imageset/canada@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/canada_preview.imageset/canada@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/chile_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "chile@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "chile@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/chile_preview.imageset/chile@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/chile_preview.imageset/chile@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/chile_preview.imageset/chile@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/chile_preview.imageset/chile@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/chroma_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "chroma@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "chroma@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/chroma_preview.imageset/chroma@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/chroma_preview.imageset/chroma@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/chroma_preview.imageset/chroma@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/chroma_preview.imageset/chroma@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/effect.normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "Normal_filter@2x.png", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "Normal_filter@3x.png", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/effect.normal.imageset/Normal_filter@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/effect.normal.imageset/Normal_filter@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/effect.normal.imageset/Normal_filter@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/effect.normal.imageset/Normal_filter@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/egypt_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "egypt@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "egypt@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/egypt_preview.imageset/egypt@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/egypt_preview.imageset/egypt@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/egypt_preview.imageset/egypt@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/egypt_preview.imageset/egypt@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/england_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "england@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "england@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/england_preview.imageset/england@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/england_preview.imageset/england@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/england_preview.imageset/england@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/england_preview.imageset/england@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/glitch_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "glitch@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "glitch@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/glitch_preview.imageset/glitch@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/glitch_preview.imageset/glitch@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/glitch_preview.imageset/glitch@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/glitch_preview.imageset/glitch@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/grunge_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "grunge@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "grunge@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/grunge_preview.imageset/grunge@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/grunge_preview.imageset/grunge@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/grunge_preview.imageset/grunge@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/grunge_preview.imageset/grunge@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/hyla_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "hyla@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "hyla@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/hyla_preview.imageset/hyla@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/hyla_preview.imageset/hyla@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/hyla_preview.imageset/hyla@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/hyla_preview.imageset/hyla@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/instant_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "instant@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "instant@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/instant_preview.imageset/instant@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/instant_preview.imageset/instant@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/instant_preview.imageset/instant@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/instant_preview.imageset/instant@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/japan_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "japan@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "japan@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/japan_preview.imageset/japan@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/japan_preview.imageset/japan@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/japan_preview.imageset/japan@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/japan_preview.imageset/japan@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/korben_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "korben@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "korben@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/korben_preview.imageset/korben@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/korben_preview.imageset/korben@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/korben_preview.imageset/korben@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/korben_preview.imageset/korben@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/lilac_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "lilac@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "lilac@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/lilac_preview.imageset/lilac@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/lilac_preview.imageset/lilac@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/lilac_preview.imageset/lilac@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/lilac_preview.imageset/lilac@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/lux_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "lux@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "lux@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/lux_preview.imageset/lux@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/lux_preview.imageset/lux@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/lux_preview.imageset/lux@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/lux_preview.imageset/lux@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/neon_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "Img 05_lut_neon_processed@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "Img 05_lut_neon_processed@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/neon_preview.imageset/Img 05_lut_neon_processed@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/neon_preview.imageset/Img 05_lut_neon_processed@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/neon_preview.imageset/Img 05_lut_neon_processed@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/neon_preview.imageset/Img 05_lut_neon_processed@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/norway_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "Img 05_lut_norway_processed@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "Img 05_lut_norway_processed@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/norway_preview.imageset/Img 05_lut_norway_processed@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/norway_preview.imageset/Img 05_lut_norway_processed@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/norway_preview.imageset/Img 05_lut_norway_processed@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/norway_preview.imageset/Img 05_lut_norway_processed@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/pinkvine_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "pinkvine@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "pinkvine@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/pinkvine_preview.imageset/pinkvine@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/pinkvine_preview.imageset/pinkvine@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/pinkvine_preview.imageset/pinkvine@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/pinkvine_preview.imageset/pinkvine@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/remy_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "remy@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "remy@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/remy_preview.imageset/remy@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/remy_preview.imageset/remy@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/remy_preview.imageset/remy@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/remy_preview.imageset/remy@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/retro_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "retro@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "retro@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/retro_preview.imageset/retro@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/retro_preview.imageset/retro@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/retro_preview.imageset/retro@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/retro_preview.imageset/retro@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/spark_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "spark@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "spark@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/spark_preview.imageset/spark@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/spark_preview.imageset/spark@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/spark_preview.imageset/spark@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/spark_preview.imageset/spark@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/sunny_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "sunny@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "sunny@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/sunny_preview.imageset/sunny@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/sunny_preview.imageset/sunny@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/sunny_preview.imageset/sunny@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/sunny_preview.imageset/sunny@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/sunset_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "sunset@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "sunset@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/sunset_preview.imageset/sunset@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/sunset_preview.imageset/sunset@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/sunset_preview.imageset/sunset@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/sunset_preview.imageset/sunset@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/vinyl_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "vinyl@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "vinyl@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/vinyl_preview.imageset/vinyl@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/vinyl_preview.imageset/vinyl@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/vinyl_preview.imageset/vinyl@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/vinyl_preview.imageset/vinyl@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/vivid_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "vivid@2x.jpg", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "vivid@3x.jpg", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/vivid_preview.imageset/vivid@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/vivid_preview.imageset/vivid@2x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/ColorEffectsPreview/vivid_preview.imageset/vivid@3x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/ColorEffectsPreview/vivid_preview.imageset/vivid@3x.jpg -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102000_preview.imageset/Acid-whip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102000_preview.imageset/Acid-whip.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102000_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "Acid-whip.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102001_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "cathode.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102001_preview.imageset/cathode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102001_preview.imageset/cathode.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102002_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_dv_cam.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102002_preview.imageset/ic_dv_cam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102002_preview.imageset/ic_dv_cam.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102003_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "btn_flash2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102003_preview.imageset/btn_flash2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102003_preview.imageset/btn_flash2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102004_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "glitch.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102004_preview.imageset/glitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102004_preview.imageset/glitch.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102005_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_glitch2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102005_preview.imageset/ic_glitch2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102005_preview.imageset/ic_glitch2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102006_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_heatmap.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102006_preview.imageset/ic_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102006_preview.imageset/ic_heatmap.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102007_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_lumiere.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102007_preview.imageset/ic_lumiere.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102007_preview.imageset/ic_lumiere.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102008_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_Kaleidoscope.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102008_preview.imageset/ic_Kaleidoscope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102008_preview.imageset/ic_Kaleidoscope.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102009_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_dslrkaleidoscope.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102009_preview.imageset/ic_dslrkaleidoscope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102009_preview.imageset/ic_dslrkaleidoscope.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102010_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_pixeldynamics.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102010_preview.imageset/ic_pixeldynamics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102010_preview.imageset/ic_pixeldynamics.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102011_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_pixelstatics.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102011_preview.imageset/ic_pixelstatics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102011_preview.imageset/ic_pixelstatics.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102012_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "polaroid.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102012_preview.imageset/polaroid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102012_preview.imageset/polaroid.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102013_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "btn_rave2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102013_preview.imageset/btn_rave2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102013_preview.imageset/btn_rave2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102014_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "btn_soul2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102014_preview.imageset/btn_soul2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102014_preview.imageset/btn_soul2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102015_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_stars.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102015_preview.imageset/ic_stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102015_preview.imageset/ic_stars.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102016_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "btn_foamtv2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102016_preview.imageset/btn_foamtv2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102016_preview.imageset/btn_foamtv2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102017_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_transition1.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102017_preview.imageset/ic_transition1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102017_preview.imageset/ic_transition1.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102018_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_transition4.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102018_preview.imageset/ic_transition4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102018_preview.imageset/ic_transition4.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102019_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "btn_vhs2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102019_preview.imageset/btn_vhs2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102019_preview.imageset/btn_vhs2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102020_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_vhs2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102020_preview.imageset/ic_vhs2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102020_preview.imageset/ic_vhs2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102021_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "zoom.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102021_preview.imageset/zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102021_preview.imageset/zoom.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102022_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_zoom2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102022_preview.imageset/ic_zoom2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102022_preview.imageset/ic_zoom2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102023_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_glitch3.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/102023_preview.imageset/ic_glitch3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/102023_preview.imageset/ic_glitch3.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/104000_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "btn_slowmotion2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/104000_preview.imageset/btn_slowmotion2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/104000_preview.imageset/btn_slowmotion2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/104001_preview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "btn_rapid2.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/104001_preview.imageset/btn_rapid2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/EffectsPreview/104001_preview.imageset/btn_rapid2.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/EffectsPreview/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /ios/Runner/BanubaVideoEditorSDK-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | VideoEditorToken 6 | SET BANUBA VIDEO EDITOR SDK TOKEN 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Runner/CustomViewFactory.swift: -------------------------------------------------------------------------------- 1 | // 2 | // VEExternalViewFactory.swift 3 | // Runner 4 | // 5 | // Created by Andrei Sak on 7.10.22. 6 | // 7 | 8 | import BanubaVideoEditorSDK 9 | import BanubaUtilities 10 | import Flutter 11 | 12 | class FlutterCustomViewFactory: ExternalViewControllerFactory { 13 | // Set nil to use BanubaAudioBrowser 14 | var musicEditorFactory: MusicEditorExternalViewControllerFactory? = CustomAudioBrowserViewControllerFactory() 15 | 16 | var countdownTimerViewFactory: CountdownTimerViewFactory? 17 | 18 | var exposureViewFactory: AnimatableViewFactory? 19 | } 20 | 21 | class CustomAudioBrowserViewControllerFactory: MusicEditorExternalViewControllerFactory { 22 | 23 | // Audio Browser selection view controller 24 | func makeTrackSelectionViewController(selectedAudioItem: AudioItem?, isAudioPartSelectionEnabled: Bool) -> TrackSelectionViewController? { 25 | let flutterEngine = (UIApplication.shared.delegate as! AppDelegate).audioBrowserFlutterEngine 26 | 27 | // Only single instance of the FlutterEngine can be attached to FlutterViewController at a time. 28 | // Set FlutterEngine.viewController to nil before attaching it to another FlutterViewController. 29 | flutterEngine.viewController = nil 30 | 31 | let flutterTrackSelectionViewController = FlutterTrackSelectionViewController( 32 | engine: flutterEngine, 33 | nibName: nil, 34 | bundle: nil 35 | ) 36 | 37 | flutterTrackSelectionViewController.listenFlutterCalls() 38 | 39 | return flutterTrackSelectionViewController 40 | } 41 | 42 | // Effects selection view controller. Used at Music editor screen 43 | func makeEffectSelectionViewController(selectedAudioItem: AudioItem?) -> EffectSelectionViewController? { 44 | return nil 45 | } 46 | 47 | // Returns recorder countdown view for voice recorder screen 48 | func makeRecorderCountdownAnimatableView() -> MusicEditorCountdownAnimatableView? { 49 | return nil 50 | } 51 | } 52 | 53 | private class FlutterTrackSelectionViewController: FlutterViewController, TrackSelectionViewController { 54 | 55 | let channelAudioBrowser = "audioBrowserChannel" 56 | let methodApplyAudioTrack = "applyAudioTrack" 57 | let methodDiscardAudioTrack = "discardAudioTrack" 58 | let methodClose = "close" 59 | 60 | // MARK: - TrackSelectionViewController 61 | var trackSelectionDelegate: TrackSelectionViewControllerDelegate? 62 | 63 | private var channel: FlutterMethodChannel? 64 | 65 | func listenFlutterCalls() { 66 | channel = FlutterMethodChannel( 67 | name: channelAudioBrowser, 68 | binaryMessenger: binaryMessenger 69 | ) 70 | channel?.setMethodCallHandler { [weak self] methodCall, resultHandler in 71 | guard let self = self else { 72 | resultHandler(FlutterMethodNotImplemented) 73 | return 74 | } 75 | 76 | switch methodCall.method { 77 | case self.methodApplyAudioTrack: 78 | self.handleApplyAudioTrack(args: methodCall.arguments, resultHandler: resultHandler) 79 | 80 | case self.methodDiscardAudioTrack: 81 | self.trackSelectionDelegate?.trackSelectionViewControllerDiscardCurrentTrack( 82 | viewController: self 83 | ) 84 | self.trackSelectionDelegate?.trackSelectionViewControllerDidCancel( 85 | viewController: self 86 | ) 87 | resultHandler(nil) 88 | 89 | case self.methodClose: 90 | self.trackSelectionDelegate?.trackSelectionViewControllerDidCancel(viewController: self) 91 | resultHandler(nil) 92 | 93 | default: resultHandler(FlutterMethodNotImplemented) 94 | } 95 | } 96 | } 97 | 98 | private func handleApplyAudioTrack(args: Any?, resultHandler: (Any?) -> Void) { 99 | struct Track: Codable { 100 | let url: URL 101 | let id: UUID 102 | let title: String 103 | } 104 | guard let string = args as? String, 105 | let data = string.data(using: .utf8), 106 | let track = try? JSONDecoder().decode(Track.self, from: data) else { 107 | resultHandler(FlutterMethodNotImplemented) 108 | return 109 | } 110 | trackSelectionDelegate?.trackSelectionViewController( 111 | viewController: self, 112 | didSelectFile: track.url, 113 | isEditable: true, 114 | title: track.title, 115 | additionalTitle: nil, 116 | uuid: track.id 117 | ) 118 | resultHandler(nil) 119 | } 120 | } 121 | -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CADisableMinimumFrameDurationOnPhone 6 | 7 | CFBundleDevelopmentRegion 8 | $(DEVELOPMENT_LANGUAGE) 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | flutter_ve_sdk 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(FLUTTER_BUILD_NAME) 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | $(FLUTTER_BUILD_NUMBER) 25 | LSRequiresIPhoneOS 26 | 27 | NSAppleMusicUsageDescription 28 | This app requires access to the media library 29 | NSCameraUsageDescription 30 | This app requires access to the camera. 31 | NSMicrophoneUsageDescription 32 | This app requires access to the microphone. 33 | NSPhotoLibraryUsageDescription 34 | This app requires access to the photo library. 35 | UIApplicationSupportsIndirectInputEvents 36 | 37 | UILaunchStoryboardName 38 | LaunchScreen 39 | UIMainStoryboardFile 40 | Main 41 | UISupportedInterfaceOrientations 42 | 43 | UIInterfaceOrientationPortrait 44 | UIInterfaceOrientationLandscapeLeft 45 | UIInterfaceOrientationLandscapeRight 46 | 47 | UISupportedInterfaceOrientations~ipad 48 | 49 | UIInterfaceOrientationPortrait 50 | UIInterfaceOrientationPortraitUpsideDown 51 | UIInterfaceOrientationLandscapeLeft 52 | UIInterfaceOrientationLandscapeRight 53 | 54 | UIViewControllerBasedStatusBarAppearance 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /ios/Runner/PhotoEditorModule.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PhotoEditorModule.swift 3 | // Runner 4 | // 5 | // Created by Banuba on 9.02.24. 6 | // 7 | 8 | import BanubaPhotoEditorSDK 9 | 10 | class PhotoEditorModule: BanubaPhotoEditorDelegate { 11 | var photoEditorSDK: BanubaPhotoEditor? 12 | 13 | private var flutterResult: FlutterResult? 14 | 15 | init(token: String, flutterResult: @escaping FlutterResult) { 16 | let configuration = PhotoEditorConfig() 17 | photoEditorSDK = BanubaPhotoEditor( 18 | token: token, 19 | configuration: configuration 20 | ) 21 | if photoEditorSDK == nil { 22 | flutterResult(FlutterError(code: AppDelegate.errEditorNotInitialized, message: "", details: nil)) 23 | return 24 | } 25 | 26 | photoEditorSDK?.delegate = self 27 | 28 | flutterResult(nil) 29 | } 30 | 31 | func presentPhotoEditor( 32 | fromViewController controller: FlutterViewController, 33 | flutterResult: @escaping FlutterResult 34 | ) { 35 | self.flutterResult = flutterResult 36 | 37 | let launchConfig = PhotoEditorLaunchConfig( 38 | hostController: controller, 39 | entryPoint: .gallery 40 | ) 41 | 42 | photoEditorSDK?.delegate = self 43 | 44 | photoEditorSDK?.getLicenseState(completion: { [weak self] isValid in 45 | guard let self else { return } 46 | if isValid { 47 | print("✅ License is active, all good") 48 | photoEditorSDK?.presentPhotoEditor( 49 | withLaunchConfiguration: launchConfig, 50 | completion: nil 51 | ) 52 | } else { 53 | print("❌ License is either revoked or expired") 54 | } 55 | }) 56 | } 57 | 58 | // MARK: - PhotoEditorSDKDelegate 59 | func photoEditorDidCancel(_ photoEditor: BanubaPhotoEditor) { 60 | photoEditor.dismissPhotoEditor(animated: true) { [unowned self] in 61 | self.flutterResult?(nil) 62 | self.flutterResult = nil 63 | self.photoEditorSDK = nil 64 | } 65 | } 66 | 67 | func photoEditorDidFinishWithImage(_ photoEditor: BanubaPhotoEditor, image: UIImage) { 68 | let exportedPhotoFileUrl = FileManager.default.temporaryDirectory.appendingPathComponent("\(UUID().uuidString).png") 69 | do { 70 | try image.pngData()?.write(to: exportedPhotoFileUrl) 71 | } catch { 72 | debugPrint("Saving PhotoEditorSDK image failed! image path \(exportedPhotoFileUrl)") 73 | } 74 | let data = [ 75 | AppDelegate.argExportedPhotoFile: exportedPhotoFileUrl.path, 76 | ] 77 | photoEditor.dismissPhotoEditor(animated: true) { [unowned self] in 78 | self.flutterResult?(data) 79 | self.flutterResult = nil 80 | self.photoEditorSDK = nil 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /ios/luts/bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/bright.png -------------------------------------------------------------------------------- /ios/luts/byers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/byers.png -------------------------------------------------------------------------------- /ios/luts/canada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/canada.png -------------------------------------------------------------------------------- /ios/luts/chile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/chile.png -------------------------------------------------------------------------------- /ios/luts/chroma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/chroma.png -------------------------------------------------------------------------------- /ios/luts/egypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/egypt.png -------------------------------------------------------------------------------- /ios/luts/england.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/england.png -------------------------------------------------------------------------------- /ios/luts/glitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/glitch.png -------------------------------------------------------------------------------- /ios/luts/grunge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/grunge.png -------------------------------------------------------------------------------- /ios/luts/hyla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/hyla.png -------------------------------------------------------------------------------- /ios/luts/instant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/instant.png -------------------------------------------------------------------------------- /ios/luts/japan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/japan.png -------------------------------------------------------------------------------- /ios/luts/korben.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/korben.png -------------------------------------------------------------------------------- /ios/luts/lilac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/lilac.png -------------------------------------------------------------------------------- /ios/luts/lux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/lux.png -------------------------------------------------------------------------------- /ios/luts/neon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/neon.png -------------------------------------------------------------------------------- /ios/luts/norway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/norway.png -------------------------------------------------------------------------------- /ios/luts/pinkvine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/pinkvine.png -------------------------------------------------------------------------------- /ios/luts/remy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/remy.png -------------------------------------------------------------------------------- /ios/luts/retro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/retro.png -------------------------------------------------------------------------------- /ios/luts/spark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/spark.png -------------------------------------------------------------------------------- /ios/luts/sunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/sunny.png -------------------------------------------------------------------------------- /ios/luts/sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/sunset.png -------------------------------------------------------------------------------- /ios/luts/vinyl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/vinyl.png -------------------------------------------------------------------------------- /ios/luts/vivid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Banuba/ve-sdk-flutter-integration-sample/ac122ae0a8597c9e27f96f6cbb0a58dc8d85c0ec/ios/luts/vivid.png -------------------------------------------------------------------------------- /lib/audio_browser.dart: -------------------------------------------------------------------------------- 1 | import 'dart:convert'; 2 | import 'dart:io'; 3 | import 'dart:ui' as ui; 4 | 5 | import 'package:flutter/material.dart'; 6 | import 'package:flutter/services.dart'; 7 | import 'package:flutter_ve_sdk/file_plugin.dart'; 8 | import 'package:uuid/uuid.dart'; 9 | 10 | class AudioBrowserWidget extends StatefulWidget { 11 | AudioBrowserWidget({ 12 | Key? key, 13 | this.title = 'Audio Browser', 14 | }) : super(key: key); 15 | final String title; 16 | 17 | @override 18 | _AudioBrowserState createState() => _AudioBrowserState(); 19 | } 20 | 21 | class _AudioBrowserState extends State { 22 | static const _channelName = 'audioBrowserChannel'; 23 | static const _methodApplyAudioTrack = 'applyAudioTrack'; 24 | static const _methodDiscardAudioTrack = 'discardAudioTrack'; 25 | static const _methodClose = 'close'; 26 | 27 | static const _sampleAudioTrack = "sample_audio.mp3"; 28 | 29 | static const _methodChannel = MethodChannel(_channelName); 30 | 31 | @override 32 | Widget build(BuildContext context) { 33 | return new MediaQuery( 34 | data: new MediaQueryData.fromWindow(ui.window), 35 | child: new Directionality( 36 | textDirection: TextDirection.rtl, 37 | child: Container( 38 | color: Colors.white, 39 | child: Column( 40 | mainAxisAlignment: MainAxisAlignment.center, 41 | children: [ 42 | MaterialButton( 43 | color: Colors.blue, 44 | textColor: Colors.white, 45 | disabledColor: Colors.grey, 46 | disabledTextColor: Colors.black, 47 | padding: const EdgeInsets.all(12.0), 48 | splashColor: Colors.blueAccent, 49 | minWidth: 240, 50 | onPressed: () { 51 | _applyLocalAudio(); 52 | }, 53 | child: const Text( 54 | 'Apply audio track', 55 | style: TextStyle( 56 | fontSize: 14.0, 57 | ), 58 | ), 59 | ), 60 | const SizedBox( 61 | height: 24.0, 62 | ), 63 | MaterialButton( 64 | color: Colors.red, 65 | textColor: Colors.white, 66 | disabledColor: Colors.grey, 67 | disabledTextColor: Colors.black, 68 | padding: const EdgeInsets.all(12.0), 69 | splashColor: Colors.redAccent, 70 | minWidth: 240, 71 | onPressed: () { 72 | _discardLocalAudio(); 73 | }, 74 | child: const Text( 75 | 'Discard audio track', 76 | style: TextStyle( 77 | fontSize: 14.0, 78 | ), 79 | ), 80 | ), 81 | const SizedBox( 82 | height: 24.0, 83 | ), 84 | MaterialButton( 85 | color: Colors.grey, 86 | textColor: Colors.white, 87 | disabledColor: Colors.grey, 88 | disabledTextColor: Colors.black, 89 | padding: const EdgeInsets.all(12.0), 90 | splashColor: Colors.grey, 91 | minWidth: 240, 92 | onPressed: () { 93 | _close(); 94 | }, 95 | child: const Text( 96 | 'Close', 97 | style: TextStyle( 98 | fontSize: 14.0, 99 | ), 100 | ), 101 | ), 102 | ], 103 | ), 104 | ), 105 | ), 106 | ); 107 | } 108 | 109 | /// Applies provided audio track in Video Editor SDK 110 | /// Banuba Video Editor SDK is not responsible for downloading or managing remote audio files. 111 | /// The SDK can only apply audio file stored on the device. 112 | /// This sample demonstrates how locally stored audio file can be applied in Video Editor SDK 113 | Future _applyLocalAudio() async { 114 | debugPrint('Apply audio track'); 115 | try { 116 | final audioTrackUri = 117 | await FilePlugin().createAssetFileUri("assets/audio/", _sampleAudioTrack); 118 | 119 | final dynamic result; 120 | final args = { 121 | "url": audioTrackUri.toString(), 122 | "id": Uuid().v1(), 123 | "artist": "The best artist", 124 | "title": "My favorite song", 125 | }; 126 | 127 | result = await _methodChannel.invokeMethod(_methodApplyAudioTrack, jsonEncode(args)); 128 | 129 | debugPrint('Apply audio track result: $result '); 130 | } on PlatformException catch (e) { 131 | debugPrint("Error while applying audio track: '${e.message}'."); 132 | } 133 | } 134 | 135 | /// Discards last used audio track in Video Editor SDK 136 | /// Use this method if you need to reset audio track. 137 | /// The user decides to discard or change previous audio track on your custom audio browser screen. 138 | Future _discardLocalAudio() async { 139 | debugPrint('Discard audio track'); 140 | try { 141 | final result = await _methodChannel.invokeMethod(_methodDiscardAudioTrack); 142 | debugPrint('Discard audio track result: $result '); 143 | } on PlatformException catch (e) { 144 | debugPrint("Error while discarding audio track: '${e.message}'."); 145 | } 146 | } 147 | 148 | /// Closes custom audio browser. In this case previous audio track will be used 149 | Future _close() async { 150 | debugPrint('Close custom audio browser'); 151 | 152 | try { 153 | final result = await _methodChannel.invokeMethod(_methodClose); 154 | debugPrint('Close result: $result '); 155 | } on PlatformException catch (e) { 156 | debugPrint("Error while closing: '${e.message}'."); 157 | } 158 | } 159 | } 160 | -------------------------------------------------------------------------------- /lib/file_plugin.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'package:flutter/services.dart'; 4 | import 'package:path_provider/path_provider.dart'; 5 | 6 | /// Util class to prepare audio files for custom audio browser 7 | class FilePlugin { 8 | Future createAssetFileUri(String prefix, String fileName) async { 9 | final byteData = await rootBundle.load('$prefix$fileName'); 10 | final file = File('${await _getTemporaryDirectoryPath()}/$fileName'); 11 | await file.create(recursive: true); 12 | await file.writeAsBytes(byteData.buffer.asUint8List()); 13 | return file.uri; 14 | } 15 | 16 | Future _getTemporaryDirectoryPath() async { 17 | if (Platform.isAndroid) { 18 | final result = await getExternalStorageDirectories(); 19 | if (result == null || result.isEmpty) { 20 | throw Exception("Cannot resolve temporary directory!"); 21 | } else { 22 | return result.first.path; 23 | } 24 | } else { 25 | final dir = await getTemporaryDirectory(); 26 | return dir.path; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /mddocs/quickstart_pe_android.md: -------------------------------------------------------------------------------- 1 | # Android Photo Editor SDK quickstart 2 | 3 | This guide demonstrates how to quickly integrate Android Photo Editor SDK into your Flutter project. 4 | The main part of an integration and customization is implemented in ```android``` directory 5 | in your Flutter project using native Android development process. 6 | 7 | Once complete you will be able to launch photo editor in your Flutter project. 8 | 9 | - [Installation](#Installation) 10 | - [Launch](#Launch) 11 | - [What is next?](#What-is-next) 12 | 13 | ## Installation 14 | GitHub Packages is used for downloading Android Photo Editor SDK modules. 15 | First, add repositories to [gradle](../android/build.gradle#L1) file in ```allprojects``` section. 16 | 17 | ```groovy 18 | allprojects { 19 | repositories { 20 | maven { 21 | name = "GitHubPackages" 22 | url = uri("https://maven.pkg.github.com/Banuba/banuba-ve-sdk") 23 | credentials { 24 | username = "Banuba" 25 | password = "\u0038\u0036\u0032\u0037\u0063\u0035\u0031\u0030\u0033\u0034\u0032\u0063\u0061\u0033\u0065\u0061\u0031\u0032\u0034\u0064\u0065\u0066\u0039\u0062\u0034\u0030\u0063\u0063\u0037\u0039\u0038\u0063\u0038\u0038\u0066\u0034\u0031\u0032\u0061\u0038" 26 | } 27 | } 28 | maven { 29 | name "GitHubPackagesEffectPlayer" 30 | url "https://maven.pkg.github.com/sdk-banuba/banuba-sdk-android" 31 | credentials { 32 | username = "sdk-banuba" 33 | password = "\u0067\u0068\u0070\u005f\u0033\u0057\u006a\u0059\u004a\u0067\u0071\u0054\u0058\u0058\u0068\u0074\u0051\u0033\u0075\u0038\u0051\u0046\u0036\u005a\u0067\u004f\u0041\u0053\u0064\u0046\u0032\u0045\u0046\u006a\u0030\u0036\u006d\u006e\u004a\u004a" 34 | } 35 | } 36 | } 37 | } 38 | ``` 39 | 40 | Specify Photo Editor SDK dependencies in the app gradle file. 41 | ```groovy 42 | dependencies { 43 | def banubaPESdkVersion = '1.2.12' 44 | implementation "com.banuba.sdk:pe-sdk:${banubaPESdkVersion}" 45 | 46 | def banubaSdkVersion = '1.43.0' 47 | implementation "com.banuba.sdk:core-sdk:${banubaSdkVersion}" 48 | implementation "com.banuba.sdk:core-ui-sdk:${banubaSdkVersion}" 49 | implementation "com.banuba.sdk:ve-gallery-sdk:${banubaSdkVersion}" 50 | implementation "com.banuba.sdk:effect-player-adapter:${banubaSdkVersion}" 51 | } 52 | ``` 53 | 54 | Additionally, make sure the following plugins are in your app [gradle](../android/app/build.gradle#L1) and at the top of the file. 55 | ```groovy 56 | plugins { 57 | id "com.android.application" 58 | id "kotlin-android" 59 | id "dev.flutter.flutter-gradle-plugin" 60 | id "kotlin-parcelize" 61 | } 62 | ``` 63 | 64 | ## Launch 65 | [Flutter platform channels](https://docs.flutter.dev/development/platform-integration/platform-channels) approach is used for communication between Flutter and Android. 66 | 67 | Set up channel message handler in your [MainActivity](../android/app/src/main/kotlin/com/banuba/flutter/flutter_ve_sdk/MainActivity.kt#L71) 68 | to listen to calls from Flutter. 69 | ```kotlin 70 | class MainActivity : FlutterActivity() { 71 | override fun onCreate(savedInstanceState: Bundle?) { 72 | ... 73 | val appFlutterEngine = requireNotNull(flutterEngine) 74 | GeneratedPluginRegistrant.registerWith(appFlutterEngine) 75 | 76 | MethodChannel( 77 | appFlutterEngine.dartExecutor.binaryMessenger, 78 | "banubaSdkChannel" 79 | ).setMethodCallHandler { call, result -> 80 | // Handle method calls 81 | } 82 | } 83 | } 84 | ``` 85 | 86 | Send [initPhotoEditor](../lib/main.dart#64) message from Flutter to Android for initializing Photo Editor SDK: 87 | 88 | ```dart 89 | await platformChannel.invokeMethod(methodInitPhotoEditor, LICENSE_TOKEN); 90 | ``` 91 | 92 | Add [init method](../android/app/src/main/kotlin/com/banuba/flutter/flutter_ve_sdk/MainActivity.kt#188) on Android side to initialize Photo Editor SDK: 93 | 94 | ```diff 95 | val licenseToken = call.arguments as String 96 | + photoEditorSDK = BanubaPhotoEditor.initialize(licenseToken) 97 | 98 | if (photoEditorSDK == null) { 99 | // The SDK token is incorrect - empty or truncated 100 | ... 101 | } 102 | result.success(null) 103 | ``` 104 | 105 | Send [startPhotoEditor](../lib/main.dart#L75) message from Flutter to Android for starting the Photo Editor SDK: 106 | ```dart 107 | dynamic result = await platformChannel.invokeMethod(methodStartPhotoEditor); 108 | ``` 109 | and add corresponding [method](../android/app/src/main/kotlin/com/banuba/flutter/flutter_ve_sdk/MainActivity.kt#L203) on Android side to start Photo Editor. 110 | 111 | ```kotlin 112 | startActivityForResult( 113 | PhotoCreationActivity.startFromGallery(this), 114 | PHOTO_EDITOR_REQUEST_CODE 115 | ) 116 | ``` 117 | 118 | > [!IMPORTANT] 119 | > 1. Instance ```photoEditorSDK``` is ```null``` if the license token is incorrect. In this case you cannot use photo editor. Check your license token. 120 | > 2. It is highly recommended to [check](../android/app/src/main/kotlin/com/banuba/flutter/flutter_ve_sdk/MainActivity.kt#L192) if the license is active before starting Photo Editor. 121 | 122 | ## What is next? 123 | 124 | This quickstart guide has just covered how to quickly integrate Android Photo Editor SDK, 125 | it is considered you managed to start photo editor from your Flutter project. 126 | 127 | Please check out [docs](https://docs.banuba.com/ve-pe-sdk/docs/android/requirements-pe/) to know more about the SDK and complete full integration. -------------------------------------------------------------------------------- /mddocs/quickstart_pe_ios.md: -------------------------------------------------------------------------------- 1 | # iOS Photo Editor SDK quickstart 2 | 3 | This guide demonstrates how to quickly integrate iOS Photo Editor SDK into your Flutter project. 4 | The main part of an integration and customization is implemented in ```ios``` directory 5 | in your Flutter project using native iOS development process. 6 | 7 | Once complete you will be able to launch photo editor in your Flutter project. 8 | 9 | - [Installation](#Installation) 10 | - [Configuration](#configuration) 11 | - [Launch](#Launch) 12 | - [What is next?](#What-is-next) 13 | 14 | ## Installation 15 | Add iOS Photo Editor SDK dependencies to your [Podfile](../ios/Podfile) 16 | ```swift 17 | # Photo Editor 18 | pod 'BanubaPhotoEditorSDK', '1.2.8' 19 | ``` 20 | 21 | ## Configuration 22 | Create new Swift class [PhotoEditorModule](../ios/Runner/PhotoEditorModule.swift) in your project for initializing and customizing Photo Editor SDK features. 23 | 24 | ## Launch 25 | 26 | [Flutter platform channels](https://docs.flutter.dev/development/platform-integration/platform-channels) approach is used for communication between Flutter and iOS. 27 | 28 | Set up channel message handler in your [AppDelegate](../ios/Runner/AppDelegate.swift#L42) to listen to calls from Flutter. 29 | ```swift 30 | let binaryMessenger = controller as? FlutterBinaryMessenger { 31 | 32 | let channel = FlutterMethodChannel( 33 | name: AppDelegate.channelName, 34 | binaryMessenger: binaryMessenger 35 | ) 36 | 37 | channel.setMethodCallHandler { methodCall, result in 38 | ... 39 | } 40 | ``` 41 | 42 | Send [initPhotoEditor](../lib/main.dart#68) message from Flutter to Android for initializing Photo Editor SDK: 43 | 44 | ```dart 45 | await platformChannel.invokeMethod(methodInitPhotoEditor, LICENSE_TOKEN); 46 | ``` 47 | 48 | where [initialize](../ios/Runner/PhotoEditorModule.swift#L17) Photo Editor using the license token and ```PhotoEditorConfig``` 49 | ```swift 50 | let photoEditorSDK = BanubaPhotoEditor( 51 | token: token, 52 | configuration: PhotoEditorConfig() 53 | ) 54 | ``` 55 | 56 | Send [startPhotoEditor](../lib/main.dart#L72) message from Flutter to iOS 57 | ```dart 58 | dynamic result = await platformChannel.invokeMethod('startPhotoEditor'); 59 | ``` 60 | and add corresponding [handler](../ios/Runner/AppDelegate.swift#L113) on iOS side to [start Photo Editor](../ios/Runner/PhotoEditorModule.swift#L37) Photo Editor in ```PhotoEditorModule```. 61 | ```diff 62 | + let launchConfig = PhotoEditorLaunchConfig( 63 | hostController: controller, 64 | entryPoint: .gallery 65 | ) 66 | 67 | photoEditorSDK?.delegate = self 68 | 69 | photoEditorSDK?.getLicenseState(completion: { [weak self] isValid in 70 | guard let self else { return } 71 | if isValid { 72 | print("✅ License is active, all good") 73 | + photoEditorSDK?.presentPhotoEditor( 74 | withLaunchConfiguration: launchConfig, 75 | completion: nil 76 | ) 77 | } else { 78 | print("❌ License is either revoked or expired") 79 | } 80 | }) 81 | ``` 82 | 83 | > [!IMPORTANT] 84 | > 1. Instance ```photoEditorSDK``` is ```nil``` if the license token is incorrect. In this case you cannot use photo editor. Check your license token. 85 | > 2. It is highly recommended to [check](../ios/Runner/PhotoEditorModule.swift#L44) if the license if active before starting Photo Editor. 86 | 87 | ## What is next? 88 | This quickstart guide has just covered how to quickly integrate iOS Photo Editor SDK, 89 | it is considered you managed to start photo editor from your Flutter project. 90 | 91 | Please check out [docs](https://docs.banuba.com/ve-pe-sdk/docs/ios/pe-requirements) to know more about the SDK and complete full integration. -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: flutter_ve_sdk 2 | description: VE and PE Flutter sample 3 | 4 | # The following line prevents the package from being accidentally published to 5 | # pub.dev using `pub publish`. This is preferred for private packages. 6 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev 7 | 8 | # The following defines the version and build number for your application. 9 | # A version number is three numbers separated by dots, like 1.2.43 10 | # followed by an optional build number separated by a +. 11 | # Both the version and the builder number may be overridden in flutter 12 | # build by specifying --build-name and --build-number, respectively. 13 | # In Android, build-name is used as versionName while build-number used as versionCode. 14 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning 15 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. 16 | # Read more about iOS versioning at 17 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html 18 | version: 1.0.0+1 19 | 20 | environment: 21 | sdk: '>=2.17.6 <4.0.0' 22 | 23 | dependencies: 24 | flutter: 25 | sdk: flutter 26 | image_picker: ^0.8.6 27 | uuid: 3.0.7 28 | 29 | # The following adds the Cupertino Icons font to your application. 30 | # Use with the CupertinoIcons class for iOS style icons. 31 | cupertino_icons: ^1.0.3 32 | path_provider: ^2.0.11 33 | 34 | dev_dependencies: 35 | flutter_test: 36 | sdk: flutter 37 | 38 | # For information on the generic Dart part of this file, see the 39 | # following page: https://dart.dev/tools/pub/pubspec 40 | 41 | # The following section is specific to Flutter. 42 | flutter: 43 | 44 | # The following line ensures that the Material Icons font is 45 | # included with your application, so that you can use the icons in 46 | # the material Icons class. 47 | uses-material-design: true 48 | 49 | # To add assets to your application, add an assets section, like this: 50 | assets: 51 | - assets/audio/ 52 | # - images/a_dot_ham.jpeg 53 | 54 | # An image asset can refer to one or more resolution-specific "variants", see 55 | # https://flutter.dev/assets-and-images/#resolution-aware. 56 | 57 | # For details regarding adding assets from package dependencies, see 58 | # https://flutter.dev/assets-and-images/#from-packages 59 | 60 | # To add custom fonts to your application, add a fonts section here, 61 | # in this "flutter" section. Each entry in this list should have a 62 | # "family" key with the font family name, and a "fonts" key with a 63 | # list giving the asset and other descriptors for the font. For 64 | # example: 65 | # fonts: 66 | # - family: Schyler 67 | # fonts: 68 | # - asset: fonts/Schyler-Regular.ttf 69 | # - asset: fonts/Schyler-Italic.ttf 70 | # style: italic 71 | # - family: Trajan Pro 72 | # fonts: 73 | # - asset: fonts/TrajanPro.ttf 74 | # - asset: fonts/TrajanPro_Bold.ttf 75 | # weight: 700 76 | # 77 | # For details regarding fonts from package dependencies, 78 | # see https://flutter.dev/custom-fonts/#from-packages 79 | -------------------------------------------------------------------------------- /test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | import 'package:flutter/material.dart'; 9 | import 'package:flutter_test/flutter_test.dart'; 10 | 11 | import 'package:flutter_ve_sdk/main.dart'; 12 | 13 | void main() { 14 | testWidgets('Counter increments smoke test', (tester) async { 15 | // Build our app and trigger a frame. 16 | await tester.pumpWidget(MyApp()); 17 | 18 | // Verify that our counter starts at 0. 19 | expect(find.text('0'), findsOneWidget); 20 | expect(find.text('1'), findsNothing); 21 | 22 | // Tap the '+' icon and trigger a frame. 23 | await tester.tap(find.byIcon(Icons.add)); 24 | await tester.pump(); 25 | 26 | // Verify that our counter has incremented. 27 | expect(find.text('0'), findsNothing); 28 | expect(find.text('1'), findsOneWidget); 29 | }); 30 | } 31 | --------------------------------------------------------------------------------