modifySettings function
void
modifySettings(
{ - required Map<String, dynamic> parameters,
})
Implementation
void modifySettings({
required Map<String, dynamic> parameters,
}) async {
final ShowAlert? showAlert = parameters['showAlert'];
final String roomName = parameters['roomName'];
final String audioSet = parameters['audioSet'];
final String videoSet = parameters['videoSet'];
final String screenshareSet = parameters['screenshareSet'];
final String chatSet = parameters['chatSet'];
final io.Socket socket = parameters['socket'];
final UpdateSetting updateAudioSetting = parameters['updateAudioSetting'];
final UpdateSetting updateVideoSetting = parameters['updateVideoSetting'];
final UpdateSetting updateScreenshareSetting =
parameters['updateScreenshareSetting'];
final UpdateSetting updateChatSetting = parameters['updateChatSetting'];
final UpdateIsSettingsModalVisible updateIsSettingsModalVisible =
parameters['updateIsSettingsModalVisible'];
if (roomName.toLowerCase().startsWith('d')) {
//none should be approval
if (audioSet == 'approval' ||
videoSet == 'approval' ||
screenshareSet == 'approval' ||
chatSet == 'approval') {
if (showAlert != null) {
showAlert(
message: 'You cannot set approval for demo mode.',
type: 'danger',
duration: 3000,
);
}
return;
}
}
// Check and update state variables based on the provided logic
if (audioSet.isNotEmpty) {
updateAudioSetting(audioSet);
}
if (videoSet.isNotEmpty) {
updateVideoSetting(videoSet);
}
if (screenshareSet.isNotEmpty) {
updateScreenshareSetting(screenshareSet);
}
if (chatSet.isNotEmpty) {
updateChatSetting(chatSet);
}
List<String?> settings = [audioSet, videoSet, screenshareSet, chatSet];
socket.emit('updateSettingsForRequests',
{'settings': settings, 'roomName': roomName});
// Close modal
updateIsSettingsModalVisible(false);
}