syncLiveInfoToService method

Future<TUIActionCallback> syncLiveInfoToService(
  1. TUILiveInfo liveInfo,
  2. List<TUILiveModifyFlag> modifyFlags
)

Implementation

Future<TUIActionCallback> syncLiveInfoToService(
    TUILiveInfo liveInfo, List<TUILiveModifyFlag> modifyFlags) {
  final bitmask = modifyFlags.fold(0, (value, flag) => value | flag.value());

  String? coverUrl = _containsFlag(
          bitmask: bitmask, flag: TUILiveModifyFlag.coverUrl.value())
      ? liveInfo.coverUrl
      : null;
  List<int>? categoryList = _containsFlag(
          bitmask: bitmask, flag: TUILiveModifyFlag.category.value())
      ? liveInfo.categoryList
      : null;
  bool? isPublicVisible =
      _containsFlag(bitmask: bitmask, flag: TUILiveModifyFlag.publish.value())
          ? liveInfo.isPublicVisible
          : null;
  int? activityStatus = _containsFlag(
          bitmask: bitmask, flag: TUILiveModifyFlag.activityStatus.value())
      ? liveInfo.activityStatus
      : null;

  String? backgroundUrl = _containsFlag(
          bitmask: bitmask, flag: TUILiveModifyFlag.backgroundUrl.value())
      ? liveInfo.backgroundUrl
      : null;

  return liveListManager.setLiveInfo(liveInfo.roomInfo.roomId,
      coverUrl: coverUrl,
      categoryList: categoryList,
      isPublicVisible: isPublicVisible,
      activityStatus: activityStatus,
      backgroundUrl: backgroundUrl);
}