AccountUpdateTheme.deserialize constructor

AccountUpdateTheme.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory AccountUpdateTheme.deserialize(BinaryReader reader) {
  // Read [AccountUpdateTheme] fields.
  final flags = reader.readInt32();
  final format = reader.readString();
  final theme = reader.readObject() as InputThemeBase;
  final hasSlugField = (flags & 1) != 0;
  final slug = hasSlugField ? reader.readString() : null;
  final hasTitleField = (flags & 2) != 0;
  final title = hasTitleField ? reader.readString() : null;
  final hasDocumentField = (flags & 4) != 0;
  final document =
      hasDocumentField ? reader.readObject() as InputDocumentBase : null;
  final hasSettingsField = (flags & 8) != 0;
  final settings = hasSettingsField
      ? reader.readVectorObject<InputThemeSettingsBase>()
      : null;

  // Construct [AccountUpdateTheme] object.
  final returnValue = AccountUpdateTheme(
    format: format,
    theme: theme,
    slug: slug,
    title: title,
    document: document,
    settings: settings,
  );

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