WallPaper.deserialize constructor

WallPaper.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory WallPaper.deserialize(BinaryReader reader) {
  // Read [WallPaper] fields.
  final id = reader.readInt64();
  final flags = reader.readInt32();
  final creator = (flags & 1) != 0;
  final ddefault = (flags & 2) != 0;
  final pattern = (flags & 8) != 0;
  final dark = (flags & 16) != 0;
  final accessHash = reader.readInt64();
  final slug = reader.readString();
  final document = reader.readObject() as DocumentBase;
  final hasSettingsField = (flags & 4) != 0;
  final settings =
      hasSettingsField ? reader.readObject() as WallPaperSettingsBase : null;

  // Construct [WallPaper] object.
  final returnValue = WallPaper(
    id: id,
    creator: creator,
    ddefault: ddefault,
    pattern: pattern,
    dark: dark,
    accessHash: accessHash,
    slug: slug,
    document: document,
    settings: settings,
  );

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