PhotosUploadProfilePhoto.deserialize constructor

PhotosUploadProfilePhoto.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory PhotosUploadProfilePhoto.deserialize(BinaryReader reader) {
  // Read [PhotosUploadProfilePhoto] fields.
  final flags = reader.readInt32();
  final fallback = (flags & 8) != 0;
  final hasBotField = (flags & 32) != 0;
  final bot = hasBotField ? reader.readObject() as InputUserBase : null;
  final hasFileField = (flags & 1) != 0;
  final file = hasFileField ? reader.readObject() as InputFileBase : null;
  final hasVideoField = (flags & 2) != 0;
  final video = hasVideoField ? reader.readObject() as InputFileBase : null;
  final hasVideoStartTsField = (flags & 4) != 0;
  final videoStartTs = hasVideoStartTsField ? reader.readFloat64() : null;
  final hasVideoEmojiMarkupField = (flags & 16) != 0;
  final videoEmojiMarkup =
      hasVideoEmojiMarkupField ? reader.readObject() as VideoSizeBase : null;

  // Construct [PhotosUploadProfilePhoto] object.
  final returnValue = PhotosUploadProfilePhoto(
    fallback: fallback,
    bot: bot,
    file: file,
    video: video,
    videoStartTs: videoStartTs,
    videoEmojiMarkup: videoEmojiMarkup,
  );

  // Now return the deserialized [PhotosUploadProfilePhoto].
  return returnValue;
}