GroupCall.deserialize constructor
GroupCall.deserialize(
- 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 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();
// Construct [GroupCall] object.
final returnValue = GroupCall(
joinMuted: joinMuted,
canChangeJoinMuted: canChangeJoinMuted,
joinDateAsc: joinDateAsc,
scheduleStartSubscribed: scheduleStartSubscribed,
canStartVideo: canStartVideo,
recordVideoActive: recordVideoActive,
rtmpStream: rtmpStream,
listenersHidden: listenersHidden,
id: id,
accessHash: accessHash,
participantsCount: participantsCount,
title: title,
streamDcId: streamDcId,
recordStartDate: recordStartDate,
scheduleDate: scheduleDate,
unmutedVideoCount: unmutedVideoCount,
unmutedVideoLimit: unmutedVideoLimit,
version: version,
);
// Now return the deserialized [GroupCall].
return returnValue;
}