leaveRoom method

Future<ZegoRoomLogoutResult> leaveRoom({
  1. String? targetRoomID,
})

leave room

Implementation

Future<ZegoRoomLogoutResult> leaveRoom({
  String? targetRoomID,
}) async {
  final currentRoomID = ZegoUIKitCore.shared.coreData.room.id;

  final leaveRoomResult = await ZegoUIKitCore.shared.leaveRoom(
    targetRoomID: targetRoomID,
  );

  if (ZegoErrorCode.CommonSuccess != leaveRoomResult.errorCode) {
    ZegoUIKitCore.shared.error.errorStreamCtrl?.add(ZegoUIKitError(
      code: ZegoUIKitErrorCode.roomLeaveError,
      message: 'leave room error:${leaveRoomResult.errorCode}, '
          '${ZegoUIKitErrorCode.expressErrorCodeDocumentTips}',
      method: 'leaveRoom',
    ));
  }

  ZegoUIKit().reporter().report(
    event: ZegoUIKitReporter.eventLogoutRoom,
    params: {
      ZegoUIKitReporter.eventKeyRoomID: currentRoomID,
      ZegoUIKitReporter.eventKeyErrorCode: leaveRoomResult.errorCode,
      ZegoUIKitReporter.eventKeyErrorMsg:
          leaveRoomResult.extendedData.toString(),
    },
  );

  return leaveRoomResult;
}