SponsoredMessage.deserialize constructor
SponsoredMessage.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory SponsoredMessage.deserialize(BinaryReader reader) {
// Read [SponsoredMessage] fields.
final flags = reader.readInt32();
final recommended = (flags & 32) != 0;
final canReport = (flags & 4096) != 0;
final randomId = reader.readBytes();
final url = reader.readString();
final title = reader.readString();
final message = reader.readString();
final hasEntitiesField = (flags & 2) != 0;
final entities =
hasEntitiesField ? reader.readVectorObject<MessageEntityBase>() : null;
final hasPhotoField = (flags & 64) != 0;
final photo = hasPhotoField ? reader.readObject() as PhotoBase : null;
final hasMediaField = (flags & 16384) != 0;
final media =
hasMediaField ? reader.readObject() as MessageMediaBase : null;
final hasColorField = (flags & 8192) != 0;
final color = hasColorField ? reader.readObject() as PeerColorBase : null;
final buttonText = reader.readString();
final hasSponsorInfoField = (flags & 128) != 0;
final sponsorInfo = hasSponsorInfoField ? reader.readString() : null;
final hasAdditionalInfoField = (flags & 256) != 0;
final additionalInfo = hasAdditionalInfoField ? reader.readString() : null;
final hasMinDisplayDurationField = (flags & 32768) != 0;
final minDisplayDuration =
hasMinDisplayDurationField ? reader.readInt32() : null;
final hasMaxDisplayDurationField = (flags & 32768) != 0;
final maxDisplayDuration =
hasMaxDisplayDurationField ? reader.readInt32() : null;
// Construct [SponsoredMessage] object.
final returnValue = SponsoredMessage(
recommended: recommended,
canReport: canReport,
randomId: randomId,
url: url,
title: title,
message: message,
entities: entities?.items,
photo: photo,
media: media,
color: color,
buttonText: buttonText,
sponsorInfo: sponsorInfo,
additionalInfo: additionalInfo,
minDisplayDuration: minDisplayDuration,
maxDisplayDuration: maxDisplayDuration,
);
// Now return the deserialized [SponsoredMessage].
return returnValue;
}