Community.deserialize constructor

Community.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory Community.deserialize(BinaryReader reader) {
  // Read [Community] fields.
  final flags = reader.readInt32();
  final creator = (flags & 1) != 0;
  final left = (flags & 4) != 0;
  final min = (flags & 4096) != 0;
  final flags2 = reader.readInt32();
  final collapsedInDialogs = (flags2 & 1048576) != 0;
  final id = reader.readInt64();
  final hasAccessHashField = (flags & 8192) != 0;
  final accessHash = hasAccessHashField ? reader.readInt64() : null;
  final title = reader.readString();
  final photo = reader.readObject() as ChatPhotoBase;
  final date = reader.readDateTime();
  final hasAdminRightsField = (flags & 16384) != 0;
  final adminRights =
      hasAdminRightsField ? reader.readObject() as ChatAdminRightsBase : null;
  final hasDefaultBannedRightsField = (flags & 262144) != 0;
  final defaultBannedRights = hasDefaultBannedRightsField
      ? reader.readObject() as ChatBannedRightsBase
      : null;

  // Construct [Community] object.
  final returnValue = Community(
    creator: creator,
    left: left,
    min: min,
    collapsedInDialogs: collapsedInDialogs,
    id: id,
    accessHash: accessHash,
    title: title,
    photo: photo,
    date: date,
    adminRights: adminRights,
    defaultBannedRights: defaultBannedRights,
  );

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