setScrollController method

void setScrollController()

Creates or attaches the scroll controller used by the collection.

Implementation

void setScrollController() {
  if (scrollController == null) {
    final providedController = scrollControllerProvider;

    if (providedController != null) {
      scrollController = providedController;
      _ownsScrollController = false;
    } else {
      scrollController = _bloc.isScrollable ? AutoScrollController() : ScrollController();
      _ownsScrollController = true;
    }
  }

  final controller = scrollController;
  if (controller is AutoScrollController && !_autoScrollListenerAttached) {
    controller.addListener(_onScroll);
    _autoScrollListenerAttached = true;
  }
}