showRequestDialog method

void showRequestDialog(
  1. TUIRequest request
)

Implementation

void showRequestDialog(TUIRequest request) {
  String title = '';
  String message = '';
  String confirmText = '';
  String cancelText = RoomContentsTranslations.translate('doNotOpen');

  if (request.requestAction == TUIRequestAction.requestToOpenRemoteCamera) {
    isCameraInviteDialogShow = true;
    title = RoomContentsTranslations.translate('cameraInviteTitle');
    message = RoomContentsTranslations.translate('cameraInviteMessage');
    confirmText = RoomContentsTranslations.translate('confirmOpenCamera');
  } else if (request.requestAction ==
      TUIRequestAction.requestToOpenRemoteMicrophone) {
    isMicrophoneInviteDialogShow = true;
    title = RoomContentsTranslations.translate('microphoneInviteTitle');
    message = RoomContentsTranslations.translate('microphoneInviteMessage');
    confirmText = RoomContentsTranslations.translate('confirmOpenMicrophone');
  } else if (request.requestAction ==
      TUIRequestAction.requestRemoteUserOnSeat) {
    title = RoomContentsTranslations.translate('takeSeatInviteTitle');
    message = RoomContentsTranslations.translate('takeSeatInviteMessage');
    confirmText = RoomContentsTranslations.translate('agreeTakeSeat');
    cancelText = RoomContentsTranslations.translate('refuse');
  }
  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 {
      var result = await RoomEngineManager()
          .getRoomEngine()
          .responseRemoteRequest(request.requestId, true);
      Get.back();
      if (result.code == TUIError.errFailed) {
        makeToast(
            msg: RoomContentsTranslations.translate('goOnStageTimeOut'));
      } else if (result.code == TUIError.errAllSeatOccupied) {
        makeToast(
            msg: RoomContentsTranslations.translate(
                'stageMemberReachedLimit'));
      }
    },
    barrierDismissible: false,
  );
}