PhotosUploadContactProfilePhoto.deserialize constructor

PhotosUploadContactProfilePhoto.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory PhotosUploadContactProfilePhoto.deserialize(BinaryReader reader) {
  // Read [PhotosUploadContactProfilePhoto] fields.
  final flags = reader.readInt32();
  final suggest = (flags & 8) != 0;
  final save = (flags & 16) != 0;
  final userId = reader.readObject() as InputUserBase;
  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 & 32) != 0;
  final videoEmojiMarkup =
      hasVideoEmojiMarkupField ? reader.readObject() as VideoSizeBase : null;

  // Construct [PhotosUploadContactProfilePhoto] object.
  final returnValue = PhotosUploadContactProfilePhoto(
    suggest: suggest,
    save: save,
    userId: userId,
    file: file,
    video: video,
    videoStartTs: videoStartTs,
    videoEmojiMarkup: videoEmojiMarkup,
  );

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