MessageExtendedMediaPreview.deserialize constructor

MessageExtendedMediaPreview.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessageExtendedMediaPreview.deserialize(BinaryReader reader) {
  // Read [MessageExtendedMediaPreview] fields.
  final flags = reader.readInt32();
  final hasWField = (flags & 1) != 0;
  final w = hasWField ? reader.readInt32() : null;
  final hasHField = (flags & 1) != 0;
  final h = hasHField ? reader.readInt32() : null;
  final hasThumbField = (flags & 2) != 0;
  final thumb = hasThumbField ? reader.readObject() as PhotoSizeBase : null;
  final hasVideoDurationField = (flags & 4) != 0;
  final videoDuration = hasVideoDurationField ? reader.readInt32() : null;

  // Construct [MessageExtendedMediaPreview] object.
  final returnValue = MessageExtendedMediaPreview(
    w: w,
    h: h,
    thumb: thumb,
    videoDuration: videoDuration,
  );

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