InputMediaPoll.deserialize constructor

InputMediaPoll.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory InputMediaPoll.deserialize(BinaryReader reader) {
  // Read [InputMediaPoll] fields.
  final flags = reader.readInt32();
  final poll = reader.readObject() as PollBase;
  final hasCorrectAnswersField = (flags & 1) != 0;
  final correctAnswers =
      hasCorrectAnswersField ? reader.readVectorInt32() : null;
  final hasAttachedMediaField = (flags & 8) != 0;
  final attachedMedia =
      hasAttachedMediaField ? reader.readObject() as InputMediaBase : null;
  final hasSolutionField = (flags & 2) != 0;
  final solution = hasSolutionField ? reader.readString() : null;
  final hasSolutionEntitiesField = (flags & 2) != 0;
  final solutionEntities = hasSolutionEntitiesField
      ? reader.readVectorObject<MessageEntityBase>()
      : null;
  final hasSolutionMediaField = (flags & 4) != 0;
  final solutionMedia =
      hasSolutionMediaField ? reader.readObject() as InputMediaBase : null;

  // Construct [InputMediaPoll] object.
  final returnValue = InputMediaPoll(
    poll: poll,
    correctAnswers: correctAnswers?.items,
    attachedMedia: attachedMedia,
    solution: solution,
    solutionEntities: solutionEntities?.items,
    solutionMedia: solutionMedia,
  );

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