MessageMediaDocument.deserialize constructor
MessageMediaDocument.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory MessageMediaDocument.deserialize(BinaryReader reader) {
// Read [MessageMediaDocument] fields.
final flags = reader.readInt32();
final nopremium = (flags & 8) != 0;
final spoiler = (flags & 16) != 0;
final video = (flags & 64) != 0;
final round = (flags & 128) != 0;
final voice = (flags & 256) != 0;
final hasDocumentField = (flags & 1) != 0;
final document =
hasDocumentField ? reader.readObject() as DocumentBase : null;
final hasAltDocumentsField = (flags & 32) != 0;
final altDocuments =
hasAltDocumentsField ? reader.readVectorObject<DocumentBase>() : null;
final hasVideoCoverField = (flags & 512) != 0;
final videoCover =
hasVideoCoverField ? reader.readObject() as PhotoBase : null;
final hasVideoTimestampField = (flags & 1024) != 0;
final videoTimestamp = hasVideoTimestampField ? reader.readInt32() : null;
final hasTtlSecondsField = (flags & 4) != 0;
final ttlSeconds = hasTtlSecondsField ? reader.readInt32() : null;
// Construct [MessageMediaDocument] object.
final returnValue = MessageMediaDocument(
nopremium: nopremium,
spoiler: spoiler,
video: video,
round: round,
voice: voice,
document: document,
altDocuments: altDocuments?.items,
videoCover: videoCover,
videoTimestamp: videoTimestamp,
ttlSeconds: ttlSeconds,
);
// Now return the deserialized [MessageMediaDocument].
return returnValue;
}