UserFull.deserialize constructor

UserFull.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory UserFull.deserialize(BinaryReader reader) {
  // Read [UserFull] fields.
  final flags = reader.readInt32();
  final blocked = (flags & 1) != 0;
  final phoneCallsAvailable = (flags & 16) != 0;
  final phoneCallsPrivate = (flags & 32) != 0;
  final canPinMessage = (flags & 128) != 0;
  final hasScheduled = (flags & 4096) != 0;
  final videoCallsAvailable = (flags & 8192) != 0;
  final voiceMessagesForbidden = (flags & 1048576) != 0;
  final translationsDisabled = (flags & 8388608) != 0;
  final storiesPinnedAvailable = (flags & 67108864) != 0;
  final blockedMyStoriesFrom = (flags & 134217728) != 0;
  final wallpaperOverridden = (flags & 268435456) != 0;
  final contactRequirePremium = (flags & 536870912) != 0;
  final readDatesPrivate = (flags & 1073741824) != 0;
  final flags2 = reader.readInt32();
  final sponsoredEnabled = (flags2 & 128) != 0;
  final canViewRevenue = (flags2 & 512) != 0;
  final botCanManageEmojiStatus = (flags2 & 1024) != 0;
  final displayGiftsButton = (flags2 & 65536) != 0;
  final noforwardsMyEnabled = (flags2 & 8388608) != 0;
  final noforwardsPeerEnabled = (flags2 & 16777216) != 0;
  final unofficialSecurityRisk = (flags2 & 67108864) != 0;
  final id = reader.readInt64();
  final hasAboutField = (flags & 2) != 0;
  final about = hasAboutField ? reader.readString() : null;
  final settings = reader.readObject() as PeerSettingsBase;
  final hasPersonalPhotoField = (flags & 2097152) != 0;
  final personalPhoto =
      hasPersonalPhotoField ? reader.readObject() as PhotoBase : null;
  final hasProfilePhotoField = (flags & 4) != 0;
  final profilePhoto =
      hasProfilePhotoField ? reader.readObject() as PhotoBase : null;
  final hasFallbackPhotoField = (flags & 4194304) != 0;
  final fallbackPhoto =
      hasFallbackPhotoField ? reader.readObject() as PhotoBase : null;
  final notifySettings = reader.readObject() as PeerNotifySettingsBase;
  final hasBotInfoField = (flags & 8) != 0;
  final botInfo = hasBotInfoField ? reader.readObject() as BotInfoBase : null;
  final hasPinnedMsgIdField = (flags & 64) != 0;
  final pinnedMsgId = hasPinnedMsgIdField ? reader.readInt32() : null;
  final commonChatsCount = reader.readInt32();
  final hasFolderIdField = (flags & 2048) != 0;
  final folderId = hasFolderIdField ? reader.readInt32() : null;
  final hasTtlPeriodField = (flags & 16384) != 0;
  final ttlPeriod = hasTtlPeriodField ? reader.readInt32() : null;
  final hasThemeField = (flags & 32768) != 0;
  final theme = hasThemeField ? reader.readObject() as ChatThemeBase : null;
  final hasPrivateForwardNameField = (flags & 65536) != 0;
  final privateForwardName =
      hasPrivateForwardNameField ? reader.readString() : null;
  final hasBotGroupAdminRightsField = (flags & 131072) != 0;
  final botGroupAdminRights = hasBotGroupAdminRightsField
      ? reader.readObject() as ChatAdminRightsBase
      : null;
  final hasBotBroadcastAdminRightsField = (flags & 262144) != 0;
  final botBroadcastAdminRights = hasBotBroadcastAdminRightsField
      ? reader.readObject() as ChatAdminRightsBase
      : null;
  final hasWallpaperField = (flags & 16777216) != 0;
  final wallpaper =
      hasWallpaperField ? reader.readObject() as WallPaperBase : null;
  final hasStoriesField = (flags & 33554432) != 0;
  final stories =
      hasStoriesField ? reader.readObject() as PeerStoriesBase : null;
  final hasBusinessWorkHoursField = (flags2 & 1) != 0;
  final businessWorkHours = hasBusinessWorkHoursField
      ? reader.readObject() as BusinessWorkHoursBase
      : null;
  final hasBusinessLocationField = (flags2 & 2) != 0;
  final businessLocation = hasBusinessLocationField
      ? reader.readObject() as BusinessLocationBase
      : null;
  final hasBusinessGreetingMessageField = (flags2 & 4) != 0;
  final businessGreetingMessage = hasBusinessGreetingMessageField
      ? reader.readObject() as BusinessGreetingMessageBase
      : null;
  final hasBusinessAwayMessageField = (flags2 & 8) != 0;
  final businessAwayMessage = hasBusinessAwayMessageField
      ? reader.readObject() as BusinessAwayMessageBase
      : null;
  final hasBusinessIntroField = (flags2 & 16) != 0;
  final businessIntro =
      hasBusinessIntroField ? reader.readObject() as BusinessIntroBase : null;
  final hasBirthdayField = (flags2 & 32) != 0;
  final birthday =
      hasBirthdayField ? reader.readObject() as BirthdayBase : null;
  final hasPersonalChannelIdField = (flags2 & 64) != 0;
  final personalChannelId =
      hasPersonalChannelIdField ? reader.readInt64() : null;
  final hasPersonalChannelMessageField = (flags2 & 64) != 0;
  final personalChannelMessage =
      hasPersonalChannelMessageField ? reader.readInt32() : null;
  final hasStargiftsCountField = (flags2 & 256) != 0;
  final stargiftsCount = hasStargiftsCountField ? reader.readInt32() : null;
  final hasStarrefProgramField = (flags2 & 2048) != 0;
  final starrefProgram = hasStarrefProgramField
      ? reader.readObject() as StarRefProgramBase
      : null;
  final hasBotVerificationField = (flags2 & 4096) != 0;
  final botVerification = hasBotVerificationField
      ? reader.readObject() as BotVerificationBase
      : null;
  final hasSendPaidMessagesStarsField = (flags2 & 16384) != 0;
  final sendPaidMessagesStars =
      hasSendPaidMessagesStarsField ? reader.readInt64() : null;
  final hasDisallowedGiftsField = (flags2 & 32768) != 0;
  final disallowedGifts = hasDisallowedGiftsField
      ? reader.readObject() as DisallowedGiftsSettingsBase
      : null;
  final hasStarsRatingField = (flags2 & 131072) != 0;
  final starsRating =
      hasStarsRatingField ? reader.readObject() as StarsRatingBase : null;
  final hasStarsMyPendingRatingField = (flags2 & 262144) != 0;
  final starsMyPendingRating = hasStarsMyPendingRatingField
      ? reader.readObject() as StarsRatingBase
      : null;
  final hasStarsMyPendingRatingDateField = (flags2 & 262144) != 0;
  final starsMyPendingRatingDate =
      hasStarsMyPendingRatingDateField ? reader.readDateTime() : null;
  final hasMainTabField = (flags2 & 1048576) != 0;
  final mainTab =
      hasMainTabField ? reader.readObject() as ProfileTabBase : null;
  final hasSavedMusicField = (flags2 & 2097152) != 0;
  final savedMusic =
      hasSavedMusicField ? reader.readObject() as DocumentBase : null;
  final hasNoteField = (flags2 & 4194304) != 0;
  final note =
      hasNoteField ? reader.readObject() as TextWithEntitiesBase : null;
  final hasBotManagerIdField = (flags2 & 33554432) != 0;
  final botManagerId = hasBotManagerIdField ? reader.readInt64() : null;

  // Construct [UserFull] object.
  final returnValue = UserFull(
    blocked: blocked,
    phoneCallsAvailable: phoneCallsAvailable,
    phoneCallsPrivate: phoneCallsPrivate,
    canPinMessage: canPinMessage,
    hasScheduled: hasScheduled,
    videoCallsAvailable: videoCallsAvailable,
    voiceMessagesForbidden: voiceMessagesForbidden,
    translationsDisabled: translationsDisabled,
    storiesPinnedAvailable: storiesPinnedAvailable,
    blockedMyStoriesFrom: blockedMyStoriesFrom,
    wallpaperOverridden: wallpaperOverridden,
    contactRequirePremium: contactRequirePremium,
    readDatesPrivate: readDatesPrivate,
    sponsoredEnabled: sponsoredEnabled,
    canViewRevenue: canViewRevenue,
    botCanManageEmojiStatus: botCanManageEmojiStatus,
    displayGiftsButton: displayGiftsButton,
    noforwardsMyEnabled: noforwardsMyEnabled,
    noforwardsPeerEnabled: noforwardsPeerEnabled,
    unofficialSecurityRisk: unofficialSecurityRisk,
    id: id,
    about: about,
    settings: settings,
    personalPhoto: personalPhoto,
    profilePhoto: profilePhoto,
    fallbackPhoto: fallbackPhoto,
    notifySettings: notifySettings,
    botInfo: botInfo,
    pinnedMsgId: pinnedMsgId,
    commonChatsCount: commonChatsCount,
    folderId: folderId,
    ttlPeriod: ttlPeriod,
    theme: theme,
    privateForwardName: privateForwardName,
    botGroupAdminRights: botGroupAdminRights,
    botBroadcastAdminRights: botBroadcastAdminRights,
    wallpaper: wallpaper,
    stories: stories,
    businessWorkHours: businessWorkHours,
    businessLocation: businessLocation,
    businessGreetingMessage: businessGreetingMessage,
    businessAwayMessage: businessAwayMessage,
    businessIntro: businessIntro,
    birthday: birthday,
    personalChannelId: personalChannelId,
    personalChannelMessage: personalChannelMessage,
    stargiftsCount: stargiftsCount,
    starrefProgram: starrefProgram,
    botVerification: botVerification,
    sendPaidMessagesStars: sendPaidMessagesStars,
    disallowedGifts: disallowedGifts,
    starsRating: starsRating,
    starsMyPendingRating: starsMyPendingRating,
    starsMyPendingRatingDate: starsMyPendingRatingDate,
    mainTab: mainTab,
    savedMusic: savedMusic,
    note: note,
    botManagerId: botManagerId,
  );

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