GroupCall.deserialize constructor

GroupCall.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory GroupCall.deserialize(BinaryReader reader) {
  // Read [GroupCall] fields.
  final flags = reader.readInt32();
  final joinMuted = (flags & 2) != 0;
  final canChangeJoinMuted = (flags & 4) != 0;
  final joinDateAsc = (flags & 64) != 0;
  final scheduleStartSubscribed = (flags & 256) != 0;
  final canStartVideo = (flags & 512) != 0;
  final recordVideoActive = (flags & 2048) != 0;
  final rtmpStream = (flags & 4096) != 0;
  final listenersHidden = (flags & 8192) != 0;
  final conference = (flags & 16384) != 0;
  final creator = (flags & 32768) != 0;
  final messagesEnabled = (flags & 131072) != 0;
  final canChangeMessagesEnabled = (flags & 262144) != 0;
  final min = (flags & 524288) != 0;
  final id = reader.readInt64();
  final accessHash = reader.readInt64();
  final participantsCount = reader.readInt32();
  final hasTitleField = (flags & 8) != 0;
  final title = hasTitleField ? reader.readString() : null;
  final hasStreamDcIdField = (flags & 16) != 0;
  final streamDcId = hasStreamDcIdField ? reader.readInt32() : null;
  final hasRecordStartDateField = (flags & 32) != 0;
  final recordStartDate =
      hasRecordStartDateField ? reader.readDateTime() : null;
  final hasScheduleDateField = (flags & 128) != 0;
  final scheduleDate = hasScheduleDateField ? reader.readDateTime() : null;
  final hasUnmutedVideoCountField = (flags & 1024) != 0;
  final unmutedVideoCount =
      hasUnmutedVideoCountField ? reader.readInt32() : null;
  final unmutedVideoLimit = reader.readInt32();
  final version = reader.readInt32();
  final hasInviteLinkField = (flags & 65536) != 0;
  final inviteLink = hasInviteLinkField ? reader.readString() : null;
  final hasSendPaidMessagesStarsField = (flags & 1048576) != 0;
  final sendPaidMessagesStars =
      hasSendPaidMessagesStarsField ? reader.readInt64() : null;
  final hasDefaultSendAsField = (flags & 2097152) != 0;
  final defaultSendAs =
      hasDefaultSendAsField ? reader.readObject() as PeerBase : null;

  // Construct [GroupCall] object.
  final returnValue = GroupCall(
    joinMuted: joinMuted,
    canChangeJoinMuted: canChangeJoinMuted,
    joinDateAsc: joinDateAsc,
    scheduleStartSubscribed: scheduleStartSubscribed,
    canStartVideo: canStartVideo,
    recordVideoActive: recordVideoActive,
    rtmpStream: rtmpStream,
    listenersHidden: listenersHidden,
    conference: conference,
    creator: creator,
    messagesEnabled: messagesEnabled,
    canChangeMessagesEnabled: canChangeMessagesEnabled,
    min: min,
    id: id,
    accessHash: accessHash,
    participantsCount: participantsCount,
    title: title,
    streamDcId: streamDcId,
    recordStartDate: recordStartDate,
    scheduleDate: scheduleDate,
    unmutedVideoCount: unmutedVideoCount,
    unmutedVideoLimit: unmutedVideoLimit,
    version: version,
    inviteLink: inviteLink,
    sendPaidMessagesStars: sendPaidMessagesStars,
    defaultSendAs: defaultSendAs,
  );

  // Now return the deserialized [GroupCall].
  return returnValue;
}