BaseMessageCollection constructor

BaseMessageCollection({
  1. required BaseChannel channel,
  2. required MessageListParams params,
  3. required BaseMessageCollectionHandler handler,
  4. required int startingPoint,
  5. required Chat chat,
})

Implementation

BaseMessageCollection({
  required BaseChannel channel,
  required MessageListParams params,
  required BaseMessageCollectionHandler handler,
  required int startingPoint,
  required Chat chat,
})  : _channel = channel,
      _initializeParams = params,
      _loadPreviousParams = MessageListParams()..copyWith(params),
      _loadNextParams = MessageListParams()..copyWith(params),
      _handler = handler,
      _startingPoint = startingPoint,
      _collectionId = const Uuid().v1(),
      _chat = chat {
  sbLog.i(StackTrace.current, 'BaseMessageCollection()');
  _chat.collectionManager.addMessageCollection(this);

  //+ [DBManager]
  if (_chat.dbManager.isEnabled()) {
    _chat.dbManager.hasMessages(baseChannel.channelUrl).then((hasMessages) {
      if (hasMessages) {
        runZonedGuarded(() {
          _chat.collectionManager.refreshBaseMessageCollection(
              this); // Do not await for performance
        }, (error, stack) {});
      }
    });
  }
  //- [DBManager]
}