StoryItem.deserialize constructor
StoryItem.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory StoryItem.deserialize(BinaryReader reader) {
// Read [StoryItem] fields.
final flags = reader.readInt32();
final pinned = (flags & 32) != 0;
final public = (flags & 128) != 0;
final closeFriends = (flags & 256) != 0;
final min = (flags & 512) != 0;
final noforwards = (flags & 1024) != 0;
final edited = (flags & 2048) != 0;
final contacts = (flags & 4096) != 0;
final selectedContacts = (flags & 8192) != 0;
final out = (flags & 65536) != 0;
final id = reader.readInt32();
final date = reader.readDateTime();
final hasFwdFromField = (flags & 131072) != 0;
final fwdFrom =
hasFwdFromField ? reader.readObject() as StoryFwdHeaderBase : null;
final expireDate = reader.readDateTime();
final hasCaptionField = (flags & 1) != 0;
final caption = hasCaptionField ? reader.readString() : null;
final hasEntitiesField = (flags & 2) != 0;
final entities =
hasEntitiesField ? reader.readVectorObject<MessageEntityBase>() : null;
final media = reader.readObject() as MessageMediaBase;
final hasMediaAreasField = (flags & 16384) != 0;
final mediaAreas =
hasMediaAreasField ? reader.readVectorObject<MediaAreaBase>() : null;
final hasPrivacyField = (flags & 4) != 0;
final privacy =
hasPrivacyField ? reader.readVectorObject<PrivacyRuleBase>() : null;
final hasViewsField = (flags & 8) != 0;
final views = hasViewsField ? reader.readObject() as StoryViewsBase : null;
final hasSentReactionField = (flags & 32768) != 0;
final sentReaction =
hasSentReactionField ? reader.readObject() as ReactionBase : null;
// Construct [StoryItem] object.
final returnValue = StoryItem(
pinned: pinned,
public: public,
closeFriends: closeFriends,
min: min,
noforwards: noforwards,
edited: edited,
contacts: contacts,
selectedContacts: selectedContacts,
out: out,
id: id,
date: date,
fwdFrom: fwdFrom,
expireDate: expireDate,
caption: caption,
entities: entities,
media: media,
mediaAreas: mediaAreas,
privacy: privacy,
views: views,
sentReaction: sentReaction,
);
// Now return the deserialized [StoryItem].
return returnValue;
}