UserFull.deserialize constructor
UserFull.deserialize(
- 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;
}