Config.deserialize constructor
Config.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory Config.deserialize(BinaryReader reader) {
// Read [Config] fields.
final flags = reader.readInt32();
final defaultP2pContacts = (flags & 8) != 0;
final preloadFeaturedStickers = (flags & 16) != 0;
final revokePmInbox = (flags & 64) != 0;
final blockedMode = (flags & 256) != 0;
final forceTryIpv6 = (flags & 16384) != 0;
final date = reader.readDateTime();
final expires = reader.readDateTime();
final testMode = reader.readBool();
final thisDc = reader.readInt32();
final dcOptions = reader.readVectorObject<DcOptionBase>();
final dcTxtDomainName = reader.readString();
final chatSizeMax = reader.readInt32();
final megagroupSizeMax = reader.readInt32();
final forwardedCountMax = reader.readInt32();
final onlineUpdatePeriodMs = reader.readInt32();
final offlineBlurTimeoutMs = reader.readInt32();
final offlineIdleTimeoutMs = reader.readInt32();
final onlineCloudTimeoutMs = reader.readInt32();
final notifyCloudDelayMs = reader.readInt32();
final notifyDefaultDelayMs = reader.readInt32();
final pushChatPeriodMs = reader.readInt32();
final pushChatLimit = reader.readInt32();
final editTimeLimit = reader.readInt32();
final revokeTimeLimit = reader.readInt32();
final revokePmTimeLimit = reader.readInt32();
final ratingEDecay = reader.readInt32();
final stickersRecentLimit = reader.readInt32();
final channelsReadMediaPeriod = reader.readInt32();
final hasTmpSessionsField = (flags & 1) != 0;
final tmpSessions = hasTmpSessionsField ? reader.readInt32() : null;
final callReceiveTimeoutMs = reader.readInt32();
final callRingTimeoutMs = reader.readInt32();
final callConnectTimeoutMs = reader.readInt32();
final callPacketTimeoutMs = reader.readInt32();
final meUrlPrefix = reader.readString();
final hasAutoupdateUrlPrefixField = (flags & 128) != 0;
final autoupdateUrlPrefix =
hasAutoupdateUrlPrefixField ? reader.readString() : null;
final hasGifSearchUsernameField = (flags & 512) != 0;
final gifSearchUsername =
hasGifSearchUsernameField ? reader.readString() : null;
final hasVenueSearchUsernameField = (flags & 1024) != 0;
final venueSearchUsername =
hasVenueSearchUsernameField ? reader.readString() : null;
final hasImgSearchUsernameField = (flags & 2048) != 0;
final imgSearchUsername =
hasImgSearchUsernameField ? reader.readString() : null;
final hasStaticMapsProviderField = (flags & 4096) != 0;
final staticMapsProvider =
hasStaticMapsProviderField ? reader.readString() : null;
final captionLengthMax = reader.readInt32();
final messageLengthMax = reader.readInt32();
final webfileDcId = reader.readInt32();
final hasSuggestedLangCodeField = (flags & 4) != 0;
final suggestedLangCode =
hasSuggestedLangCodeField ? reader.readString() : null;
final hasLangPackVersionField = (flags & 4) != 0;
final langPackVersion = hasLangPackVersionField ? reader.readInt32() : null;
final hasBaseLangPackVersionField = (flags & 4) != 0;
final baseLangPackVersion =
hasBaseLangPackVersionField ? reader.readInt32() : null;
final hasReactionsDefaultField = (flags & 32768) != 0;
final reactionsDefault =
hasReactionsDefaultField ? reader.readObject() as ReactionBase : null;
final hasAutologinTokenField = (flags & 65536) != 0;
final autologinToken = hasAutologinTokenField ? reader.readString() : null;
// Construct [Config] object.
final returnValue = Config(
defaultP2pContacts: defaultP2pContacts,
preloadFeaturedStickers: preloadFeaturedStickers,
revokePmInbox: revokePmInbox,
blockedMode: blockedMode,
forceTryIpv6: forceTryIpv6,
date: date,
expires: expires,
testMode: testMode,
thisDc: thisDc,
dcOptions: dcOptions,
dcTxtDomainName: dcTxtDomainName,
chatSizeMax: chatSizeMax,
megagroupSizeMax: megagroupSizeMax,
forwardedCountMax: forwardedCountMax,
onlineUpdatePeriodMs: onlineUpdatePeriodMs,
offlineBlurTimeoutMs: offlineBlurTimeoutMs,
offlineIdleTimeoutMs: offlineIdleTimeoutMs,
onlineCloudTimeoutMs: onlineCloudTimeoutMs,
notifyCloudDelayMs: notifyCloudDelayMs,
notifyDefaultDelayMs: notifyDefaultDelayMs,
pushChatPeriodMs: pushChatPeriodMs,
pushChatLimit: pushChatLimit,
editTimeLimit: editTimeLimit,
revokeTimeLimit: revokeTimeLimit,
revokePmTimeLimit: revokePmTimeLimit,
ratingEDecay: ratingEDecay,
stickersRecentLimit: stickersRecentLimit,
channelsReadMediaPeriod: channelsReadMediaPeriod,
tmpSessions: tmpSessions,
callReceiveTimeoutMs: callReceiveTimeoutMs,
callRingTimeoutMs: callRingTimeoutMs,
callConnectTimeoutMs: callConnectTimeoutMs,
callPacketTimeoutMs: callPacketTimeoutMs,
meUrlPrefix: meUrlPrefix,
autoupdateUrlPrefix: autoupdateUrlPrefix,
gifSearchUsername: gifSearchUsername,
venueSearchUsername: venueSearchUsername,
imgSearchUsername: imgSearchUsername,
staticMapsProvider: staticMapsProvider,
captionLengthMax: captionLengthMax,
messageLengthMax: messageLengthMax,
webfileDcId: webfileDcId,
suggestedLangCode: suggestedLangCode,
langPackVersion: langPackVersion,
baseLangPackVersion: baseLangPackVersion,
reactionsDefault: reactionsDefault,
autologinToken: autologinToken,
);
// Now return the deserialized [Config].
return returnValue;
}