activate method

void activate()

Activates this scope, restoring focus to the last focused child.

Implementation

void activate() {
  _isActive = true;

  if (_focusedChild != null && _nodes.contains(_focusedChild)) {
    final index = _nodes.indexOf(_focusedChild!);
    _currentIndex = index;
    _nodes[_currentIndex]._setFocus(true);
  } else if (_nodes.isNotEmpty) {
    final focusable = _focusableNodes;
    if (focusable.isNotEmpty) {
      final first = focusable.first;
      _currentIndex = _nodes.indexOf(first);
      first._setFocus(true);
      _focusedChild = first;
    }
  }
}