Dialog.deserialize constructor

Dialog.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory Dialog.deserialize(BinaryReader reader) {
  // Read [Dialog] fields.
  final flags = reader.readInt32();
  final pinned = (flags & 4) != 0;
  final unreadMark = (flags & 8) != 0;
  final viewForumAsMessages = (flags & 64) != 0;
  final peer = reader.readObject() as PeerBase;
  final topMessage = reader.readInt32();
  final readInboxMaxId = reader.readInt32();
  final readOutboxMaxId = reader.readInt32();
  final unreadCount = reader.readInt32();
  final unreadMentionsCount = reader.readInt32();
  final unreadReactionsCount = reader.readInt32();
  final notifySettings = reader.readObject() as PeerNotifySettingsBase;
  final hasPtsField = (flags & 1) != 0;
  final pts = hasPtsField ? reader.readInt32() : null;
  final hasDraftField = (flags & 2) != 0;
  final draft =
      hasDraftField ? reader.readObject() as DraftMessageBase : null;
  final hasFolderIdField = (flags & 16) != 0;
  final folderId = hasFolderIdField ? reader.readInt32() : null;
  final hasTtlPeriodField = (flags & 32) != 0;
  final ttlPeriod = hasTtlPeriodField ? reader.readInt32() : null;

  // Construct [Dialog] object.
  final returnValue = Dialog(
    pinned: pinned,
    unreadMark: unreadMark,
    viewForumAsMessages: viewForumAsMessages,
    peer: peer,
    topMessage: topMessage,
    readInboxMaxId: readInboxMaxId,
    readOutboxMaxId: readOutboxMaxId,
    unreadCount: unreadCount,
    unreadMentionsCount: unreadMentionsCount,
    unreadReactionsCount: unreadReactionsCount,
    notifySettings: notifySettings,
    pts: pts,
    draft: draft,
    folderId: folderId,
    ttlPeriod: ttlPeriod,
  );

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