toSessionSettings method

SessionSettings toSessionSettings()

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();
}