GlobalPrivacySettings.deserialize constructor

GlobalPrivacySettings.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory GlobalPrivacySettings.deserialize(BinaryReader reader) {
  // Read [GlobalPrivacySettings] fields.
  final flags = reader.readInt32();
  final archiveAndMuteNewNoncontactPeers = (flags & 1) != 0;
  final keepArchivedUnmuted = (flags & 2) != 0;
  final keepArchivedFolders = (flags & 4) != 0;
  final hideReadMarks = (flags & 8) != 0;
  final newNoncontactPeersRequirePremium = (flags & 16) != 0;
  final displayGiftsButton = (flags & 128) != 0;
  final hasNoncontactPeersPaidStarsField = (flags & 32) != 0;
  final noncontactPeersPaidStars =
      hasNoncontactPeersPaidStarsField ? reader.readInt64() : null;
  final hasDisallowedGiftsField = (flags & 64) != 0;
  final disallowedGifts = hasDisallowedGiftsField
      ? reader.readObject() as DisallowedGiftsSettingsBase
      : null;

  // Construct [GlobalPrivacySettings] object.
  final returnValue = GlobalPrivacySettings(
    archiveAndMuteNewNoncontactPeers: archiveAndMuteNewNoncontactPeers,
    keepArchivedUnmuted: keepArchivedUnmuted,
    keepArchivedFolders: keepArchivedFolders,
    hideReadMarks: hideReadMarks,
    newNoncontactPeersRequirePremium: newNoncontactPeersRequirePremium,
    displayGiftsButton: displayGiftsButton,
    noncontactPeersPaidStars: noncontactPeersPaidStars,
    disallowedGifts: disallowedGifts,
  );

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