restoreFocus method

void restoreFocus()

Restores focus to the previously focused child or the first focusable node.

Implementation

void restoreFocus() {
  if (_focusedChild != null &&
      _nodes.contains(_focusedChild) &&
      _focusedChild!.canRequestFocus) {
    setFocus(_focusedChild!);
  } else if (_nodes.isNotEmpty) {
    final focusable = _focusableNodes;
    if (focusable.isNotEmpty) {
      setFocus(focusable.first);
    }
  }
}