toSessionSettings method
Converts this CallSettings to a SessionSettings object.
Maps v4 properties to their v5 equivalents per the compatibility mapping table defined in Requirement 6.2.
Requirements: 6.1, 6.2, 6.3
Implementation
SessionSettings toSessionSettings() {
return (SessionSettingsBuilder()
..setType(
features.audioOnlyMode ? SessionType.audio : SessionType.video,
)
..setLayout(layoutType)
..startAudioMuted(startAudioMuted)
..startVideoPaused(startVideoPaused)
..setAudioMode(audioMode)
..hideLeaveSessionButton(uiCustomization.hideEndCallButton)
..hideToggleAudioButton(uiCustomization.hideMuteAudioButton)
..hideToggleVideoButton(uiCustomization.hidePauseVideoButton)
..hideSwitchCameraButton(
uiCustomization.hideCameraSourceToggleButton)
..hideRecordingButton(uiCustomization.hideRecordingButton)
..hideControlPanel(uiCustomization.hideControlPanel)
..hideHeaderPanel(uiCustomization.hideHeaderPanel)
..enableAutoStartRecording(features.autoCallRecording)
..hideRaiseHandButton(uiCustomization.hideRaiseHandButton)
..hideScreenSharingButton(uiCustomization.hideScreenSharingButton)
..hideShareInviteButton(uiCustomization.hideShareInviteButton)
..hideParticipantListButton(
uiCustomization.hideParticipantListButton)
..hideChangeLayoutButton(uiCustomization.hideLayoutToggleButton)
..setInitialCameraFacing(defaultCameraFacing)
..setIdleTimeoutPeriod(idleTimeoutPeriod)
..enableLowBandwidthMode(features.lowBandwidthMode))
.build();
}