From 042c0366c9a9687be15bd79f9cfbab73a85dbe65 Mon Sep 17 00:00:00 2001 From: Ahmed Elsayed Date: Thu, 22 Jun 2023 20:58:49 +0300 Subject: [PATCH] Remove unnecessary variable `_hasPrimaryFocus` (#129066) `_hasPrimaryFocus` variable and its related code is no longer needed after using `InkWell` for `DropdownButton` at https://github.com/flutter/flutter/pull/95906 --- .../flutter/lib/src/material/dropdown.dart | 21 ++----------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/packages/flutter/lib/src/material/dropdown.dart b/packages/flutter/lib/src/material/dropdown.dart index e948a87a02..a115b0982b 100644 --- a/packages/flutter/lib/src/material/dropdown.dart +++ b/packages/flutter/lib/src/material/dropdown.dart @@ -1221,7 +1221,6 @@ class _DropdownButtonState extends State> with WidgetsBindi Orientation? _lastOrientation; FocusNode? _internalNode; FocusNode? get focusNode => widget.focusNode ?? _internalNode; - bool _hasPrimaryFocus = false; late Map> _actionMap; // Only used if needed to create _internalNode. @@ -1244,14 +1243,12 @@ class _DropdownButtonState extends State> with WidgetsBindi onInvoke: (ButtonActivateIntent intent) => _handleTap(), ), }; - focusNode!.addListener(_handleFocusChanged); } @override void dispose() { WidgetsBinding.instance.removeObserver(this); _removeDropdownRoute(); - focusNode!.removeListener(_handleFocusChanged); _internalNode?.dispose(); super.dispose(); } @@ -1262,25 +1259,11 @@ class _DropdownButtonState extends State> with WidgetsBindi _lastOrientation = null; } - void _handleFocusChanged() { - if (_hasPrimaryFocus != focusNode!.hasPrimaryFocus) { - setState(() { - _hasPrimaryFocus = focusNode!.hasPrimaryFocus; - }); - } - } - - @override void didUpdateWidget(DropdownButton oldWidget) { super.didUpdateWidget(oldWidget); - if (widget.focusNode != oldWidget.focusNode) { - oldWidget.focusNode?.removeListener(_handleFocusChanged); - if (widget.focusNode == null) { - _internalNode ??= _createFocusNode(); - } - _hasPrimaryFocus = focusNode!.hasPrimaryFocus; - focusNode!.addListener(_handleFocusChanged); + if (widget.focusNode == null) { + _internalNode ??= _createFocusNode(); } _updateSelectedIndex(); }