Channel.deserialize constructor
Channel.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory Channel.deserialize(BinaryReader reader) {
// Read [Channel] fields.
final flags = reader.readInt32();
final creator = (flags & 1) != 0;
final left = (flags & 4) != 0;
final broadcast = (flags & 32) != 0;
final verified = (flags & 128) != 0;
final megagroup = (flags & 256) != 0;
final restricted = (flags & 512) != 0;
final signatures = (flags & 2048) != 0;
final min = (flags & 4096) != 0;
final scam = (flags & 524288) != 0;
final hasLink = (flags & 1048576) != 0;
final hasGeo = (flags & 2097152) != 0;
final slowmodeEnabled = (flags & 4194304) != 0;
final callActive = (flags & 8388608) != 0;
final callNotEmpty = (flags & 16777216) != 0;
final fake = (flags & 33554432) != 0;
final gigagroup = (flags & 67108864) != 0;
final noforwards = (flags & 134217728) != 0;
final joinToSend = (flags & 268435456) != 0;
final joinRequest = (flags & 536870912) != 0;
final forum = (flags & 1073741824) != 0;
final flags2 = reader.readInt32();
final storiesHidden = (flags2 & 2) != 0;
final storiesHiddenMin = (flags2 & 4) != 0;
final storiesUnavailable = (flags2 & 8) != 0;
final id = reader.readInt64();
final hasAccessHashField = (flags & 8192) != 0;
final accessHash = hasAccessHashField ? reader.readInt64() : null;
final title = reader.readString();
final hasUsernameField = (flags & 64) != 0;
final username = hasUsernameField ? reader.readString() : null;
final photo = reader.readObject() as ChatPhotoBase;
final date = reader.readDateTime();
final hasRestrictionReasonField = (flags & 512) != 0;
final restrictionReason = hasRestrictionReasonField
? reader.readVectorObject<RestrictionReasonBase>()
: null;
final hasAdminRightsField = (flags & 16384) != 0;
final adminRights =
hasAdminRightsField ? reader.readObject() as ChatAdminRightsBase : null;
final hasBannedRightsField = (flags & 32768) != 0;
final bannedRights = hasBannedRightsField
? reader.readObject() as ChatBannedRightsBase
: null;
final hasDefaultBannedRightsField = (flags & 262144) != 0;
final defaultBannedRights = hasDefaultBannedRightsField
? reader.readObject() as ChatBannedRightsBase
: null;
final hasParticipantsCountField = (flags & 131072) != 0;
final participantsCount =
hasParticipantsCountField ? reader.readInt32() : null;
final hasUsernamesField = (flags2 & 1) != 0;
final usernames =
hasUsernamesField ? reader.readVectorObject<UsernameBase>() : null;
final hasStoriesMaxIdField = (flags2 & 16) != 0;
final storiesMaxId = hasStoriesMaxIdField ? reader.readInt32() : null;
final hasColorField = (flags2 & 128) != 0;
final color = hasColorField ? reader.readObject() as PeerColorBase : null;
final hasProfileColorField = (flags2 & 256) != 0;
final profileColor =
hasProfileColorField ? reader.readObject() as PeerColorBase : null;
final hasEmojiStatusField = (flags2 & 512) != 0;
final emojiStatus =
hasEmojiStatusField ? reader.readObject() as EmojiStatusBase : null;
final hasLevelField = (flags2 & 1024) != 0;
final level = hasLevelField ? reader.readInt32() : null;
// Construct [Channel] object.
final returnValue = Channel(
creator: creator,
left: left,
broadcast: broadcast,
verified: verified,
megagroup: megagroup,
restricted: restricted,
signatures: signatures,
min: min,
scam: scam,
hasLink: hasLink,
hasGeo: hasGeo,
slowmodeEnabled: slowmodeEnabled,
callActive: callActive,
callNotEmpty: callNotEmpty,
fake: fake,
gigagroup: gigagroup,
noforwards: noforwards,
joinToSend: joinToSend,
joinRequest: joinRequest,
forum: forum,
storiesHidden: storiesHidden,
storiesHiddenMin: storiesHiddenMin,
storiesUnavailable: storiesUnavailable,
id: id,
accessHash: accessHash,
title: title,
username: username,
photo: photo,
date: date,
restrictionReason: restrictionReason,
adminRights: adminRights,
bannedRights: bannedRights,
defaultBannedRights: defaultBannedRights,
participantsCount: participantsCount,
usernames: usernames,
storiesMaxId: storiesMaxId,
color: color,
profileColor: profileColor,
emojiStatus: emojiStatus,
level: level,
);
// Now return the deserialized [Channel].
return returnValue;
}