prepareForAnchorLoading method

  1. @protected
void prepareForAnchorLoading({
  1. NIMMessage? visibleThrough,
})

Implementation

@protected
void prepareForAnchorLoading({NIMMessage? visibleThrough}) {
  showNewMessage = false;
  if (visibleThrough != null) {
    newMessages.removeWhere(
      (message) => _isMessageCoveredByAnchor(
        message.nimMessage,
        visibleThrough,
      ),
    );
  }
  final pending = _routePendingNewMessages.remove(
    routePendingNewMessageKey,
  );
  if (pending?.isNotEmpty != true) {
    return;
  }
  final messagesToRestore = visibleThrough == null
      ? pending!
      : pending!
          .where(
            (message) => !_isMessageCoveredByAnchor(message, visibleThrough),
          )
          .toList();
  if (messagesToRestore.isNotEmpty) {
    unawaited(_restoreRoutePendingNewMessages(messagesToRestore));
  }
}