showRequestDialog method
void
showRequestDialog(
- TUIRequest request
Implementation
void showRequestDialog(TUIRequest request) {
String title = '';
String message = '';
String confirmText = '';
String cancelText = 'doNotOpen'.roomTr;
if (request.requestAction == TUIRequestAction.requestToOpenRemoteCamera) {
isCameraInviteDialogShow = true;
title = 'cameraInviteTitle'.roomTr;
message = 'cameraInviteMessage'.roomTr;
confirmText = 'confirmOpenCamera'.roomTr;
} else if (request.requestAction ==
TUIRequestAction.requestToOpenRemoteMicrophone) {
isMicrophoneInviteDialogShow = true;
title = 'microphoneInviteTitle'.roomTr;
message = 'microphoneInviteMessage'.roomTr;
confirmText = 'confirmOpenMicrophone'.roomTr;
} else if (request.requestAction ==
TUIRequestAction.requestRemoteUserOnSeat) {
title = 'takeSeatInviteTitle'.roomTr;
message = 'takeSeatInviteMessage'.roomTr;
confirmText = 'agreeTakeSeat'.roomTr;
cancelText = 'refuse'.roomTr;
}
showConferenceDialog(
title: title,
message: message,
cancelText: cancelText,
confirmText: confirmText,
onCancel: () {
RoomEngineManager()
.getRoomEngine()
.responseRemoteRequest(request.requestId, false);
if (request.requestAction ==
TUIRequestAction.requestToOpenRemoteCamera) {
isCameraInviteDialogShow = false;
} else if (request.requestAction ==
TUIRequestAction.requestToOpenRemoteMicrophone) {
isMicrophoneInviteDialogShow = false;
}
},
onConfirm: () async {
bool isGranted = true;
switch (request.requestAction) {
case TUIRequestAction.requestToOpenRemoteCamera:
isGranted = await _requestCameraPermission();
break;
case TUIRequestAction.requestToOpenRemoteMicrophone:
isGranted = await _requestMicPermission();
break;
default:
break;
}
if (!isGranted) {
RoomEngineManager()
.getRoomEngine()
.responseRemoteRequest(request.requestId, false);
return;
}
final result = await RoomEngineManager()
.getRoomEngine()
.responseRemoteRequest(request.requestId, true);
Get.back();
final toastMessages = {
TUIError.errFailed: 'goOnStageTimeOut'.roomTr,
TUIError.errAllSeatOccupied: 'stageMemberReachedLimit'.roomTr,
};
if (toastMessages.containsKey(result.code)) {
makeToast(msg: toastMessages[result.code]!);
}
},
barrierDismissible: false,
);
}