PhoneCallDiscarded.deserialize constructor

PhoneCallDiscarded.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory PhoneCallDiscarded.deserialize(BinaryReader reader) {
  // Read [PhoneCallDiscarded] fields.
  final flags = reader.readInt32();
  final needRating = (flags & 4) != 0;
  final needDebug = (flags & 8) != 0;
  final video = (flags & 64) != 0;
  final id = reader.readInt64();
  final hasReasonField = (flags & 1) != 0;
  final reason = hasReasonField
      ? reader.readObject() as PhoneCallDiscardReasonBase
      : null;
  final hasDurationField = (flags & 2) != 0;
  final duration = hasDurationField ? reader.readInt32() : null;

  // Construct [PhoneCallDiscarded] object.
  final returnValue = PhoneCallDiscarded(
    needRating: needRating,
    needDebug: needDebug,
    video: video,
    id: id,
    reason: reason,
    duration: duration,
  );

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