Released on July 13, 2021
This release requires prior migration to 1.0.16.3
-
Save undone editing progress to Drafts. Continue making cool videos anytime!
-
New Picture in Picture modes: React, Landscape, Portrait:
-
There is an option to get GIF image as a preview of exported video. Checkout our guide inside FAQ section.
-
You can configure muting microphone behavior on camera screen for some scenarios.
-
The SDK now collects few more data: start of the video editor and exported video metadata.
-
Bugfixes:
- Fix crash when no selected files returned from external gallery
- Fix bug with unsaved position on audio browser when an app returns from the background
- Fix bug with failed Giphy response on stickers loading
Checkout an example of migration to 1.0.17 version in our sample.
-
AudioBrowser has Show more button. It allows to load more tracks inside audio browser.
This feature is provided with new styles:
+ audioBrowserTrackLoadMoreStyle + audioBrowserTrackLoadMoreItemStyle + audioBrowserThrobberViewStyle
and string resource (for localization):
audio_browser_load_more
To customize its appearance just override default styles as below (вставить существующие ссылки):
<style name="CustomAudioBrowserTrackLoadMoreItemStyle" parent="AudioBrowserTrackLoadMoreItemStyle" /> <style name="CustomAudioBrowserTrackLoadMoreStyle" parent="AudioBrowserTrackLoadMoreStyle" /> <style name="CustomAudioBrowserThrobberViewStyle" parent="ThrobberViewStyle"/>
-
New Drafts screen is available from the gallery screen, here is the guide on how to customize the gallery and drafts screens.
-
Since the Drafts feature was implemented there are some changes in confirmation alerts. We removed following attributes for alert icons:
- alert_camera_return_to_camera - alert_camera_return_to_editor - alert_camera_return_to_trimmer
And add new attributes for icons:
+ alert_draft_remove_icon_res + alert_draft_update_icon_res + alert_draft_restore_icon_res
If you do not use icons for confirmation alerts you may not change anything with attributes but only check out new string resources for localization inside Confirmation alerts section.
-
Since Draft feature was implemented there are some changes in
ExportFlowManager
implementation. If you useForegroundExportFlowManager
orBackgroundExportFlowManager
just adddraftManager
dependency within constructor:override val exportFlowManager: BeanDefinition<ExportFlowManager> = single(override = true) { ForegroundExportFlowManager( exportDataProvider = get(), editorSessionHelper = get(), exportDir = get(named("exportDir")), mediaFileNameHelper = get(), shouldClearSessionOnFinish = true, publishManager = get(), + draftManager = get() ) }
NOTE: If you use
ForegroundExportFlowManager
provided by default and did not override its implementation in koin module - no additional action is required. -
ExoPlayerPictureInPictureProvider
is provided by default in Video Editor SDK which means you can remove it if you use Picture In Picture.-override val pipProvider: BeanDefinition<IPictureInPictureProvider> = single(override = true) { - ExoPlayerPictureInPictureProvider() - }
-
If you use
HandsFreeTimerActionProvider
just check correct import statement within koin module - this class was moved fromve-flow-sdk
intove-camera-ui-sdk
module:-import com.banuba.sdk.ve.flow.provider.HandsFreeTimerActionProvider +import com.banuba.sdk.cameraui.domain.HandsFreeTimerActionProvider
-
For any
ContentFeatureProvider
implementation (i.e. for audio content provider) addFragment
as the second parameter:override val musicTrackProvider: BeanDefinition<ContentFeatureProvider<TrackData, Fragment>> = single(named("musicTrackProvider"), override = true) { AudioBrowserMusicProvider() }
-
Record Button has its own style in the main theme (check out our detailed guide).
In case you want to remain the approach with custom view just change
provideView()
method signature within your implementation ofCameraRecordingAnimationProvider
withContext
parameter:override fun provideView(context: Context)
In case you want to apply the approach with custom style, follow the style configuration presented inside migration PR. Please do not forget to remove
CameraRecordingAnimationProvider
from koin module:-override val cameraRecordingAnimationProvider: BeanDefinition<CameraRecordingAnimationProvider> = - factory(override = true) { - IntegrationAppRecordingAnimationProvider(context = get()) - }
-
All major Video Editor SDK dependencies were updated (check recent versions here)
-
Parameter
supportsTextOnVideo
was added inside videoeditor.json file to toggle text on video feature. By default the feature is available.