MessageMediaInvoice.deserialize constructor

MessageMediaInvoice.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessageMediaInvoice.deserialize(BinaryReader reader) {
  // Read [MessageMediaInvoice] fields.
  final flags = reader.readInt32();
  final shippingAddressRequested = (flags & 2) != 0;
  final test = (flags & 8) != 0;
  final title = reader.readString();
  final description = reader.readString();
  final hasPhotoField = (flags & 1) != 0;
  final photo = hasPhotoField ? reader.readObject() as WebDocumentBase : null;
  final hasReceiptMsgIdField = (flags & 4) != 0;
  final receiptMsgId = hasReceiptMsgIdField ? reader.readInt32() : null;
  final currency = reader.readString();
  final totalAmount = reader.readInt64();
  final startParam = reader.readString();
  final hasExtendedMediaField = (flags & 16) != 0;
  final extendedMedia = hasExtendedMediaField
      ? reader.readObject() as MessageExtendedMediaBase
      : null;

  // Construct [MessageMediaInvoice] object.
  final returnValue = MessageMediaInvoice(
    shippingAddressRequested: shippingAddressRequested,
    test: test,
    title: title,
    description: description,
    photo: photo,
    receiptMsgId: receiptMsgId,
    currency: currency,
    totalAmount: totalAmount,
    startParam: startParam,
    extendedMedia: extendedMedia,
  );

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