setLiveInfo static method

Future<TUIActionCallback> setLiveInfo(
  1. String roomId, {
  2. String? name,
  3. String? notice,
  4. bool? disableMessage,
  5. bool? isPublicVisible,
  6. TUISeatMode? takeSeatMode,
  7. String? coverUrl,
  8. String? backgroundUrl,
  9. List<int>? categoryList,
  10. int? activityStatus,
})

Implementation

static Future<TUIActionCallback> setLiveInfo(String roomId,
    {String? name,
      String? notice,
      bool? disableMessage,
      bool? isPublicVisible,
      TUISeatMode? takeSeatMode,
      String? coverUrl,
      String? backgroundUrl,
      List<int>? categoryList,
      int? activityStatus}) {
  String userData = Tools.generateUserData();
  Completer<TUIActionCallback> completer = Completer();
  _actionCallback2Future(userData, completer);
  TUILiveInfo liveInfo = TUILiveInfo();
  liveInfo.roomId = roomId;

  int flag = 0;
  if (name != null) {
    flag |= TUILiveModifyFlag.name.value();
    liveInfo.name = name;
  }
  if (notice != null) {
    flag |= TUILiveModifyFlag.notice.value();
    liveInfo.notice = notice;
  }
  if (disableMessage != null) {
    flag |= TUILiveModifyFlag.disableMessage.value();
    liveInfo.isMessageDisableForAllUser = disableMessage;
  }
  if (isPublicVisible != null) {
    flag |= TUILiveModifyFlag.publish.value();
    liveInfo.isPublicVisible = isPublicVisible;
  }
  if (takeSeatMode != null) {
    flag |= TUILiveModifyFlag.takeSeatMode.value();
    liveInfo.seatMode = takeSeatMode;
  }
  if (coverUrl != null) {
    flag |= TUILiveModifyFlag.coverUrl.value();
    liveInfo.coverUrl = coverUrl;
  }
  if (backgroundUrl != null) {
    flag |= TUILiveModifyFlag.backgroundUrl.value();
    liveInfo.backgroundUrl = backgroundUrl;
  }
  if (categoryList != null) {
    flag |= TUILiveModifyFlag.category.value();
    liveInfo.categoryList = categoryList;
  }
  if (activityStatus != null) {
    flag |= TUILiveModifyFlag.activityStatus.value();
    liveInfo.activityStatus = activityStatus;
  }
  _engineSDK.Dart_SetLiveInfo(
      _liveListFFIPointer!,
      Tools.string2PointerChar(json.encode(liveInfo.toJson())),
      flag,
      Tools.string2PointerChar(userData));
  return completer.future;
}