The FocusManager constructor was registering global event handlers
on the shared RawKeyboard instance and the global pointer router.
This posed a few problems: (1) there was no way to unregister these
handlers, and (2) instantiating a second FocusManager would overwrite
the existing focus manager's RawKeyboard handler. This was manifesting
in unexpected ways, such as the fact that constructing a second
BuildOwner (for a parallel tree, for instance) was obliterating the
event handler for the main BuildOwner's focus manager, thus messing
with focus.
This change separates those global event registrations into a
dedicated method, registerGlobalHandlers(), and overrides dispose()
to properly unregister those handlers.
This updates the onKey handler of the FocusNode that the Focus widget manages when the widget is updated and the handler has changed. Also added a setter for onKey to the FocusNode.
This PR replaces the ColoredBox that ListTile uses with an Ink widget. That Ink widget is given a ShapeDecoration with the ListTile's color and shape. This fixes issues where the ListTile color would obscure material ripple effects, and cause the specified shape to not be respected.
* 7e48c4267 [web] Fix svg stroke when style is not provided (flutter/engine#24153)
* b9ecd8aca Always set change type to cancel with `touchesCancelled` on iOS platform view (flutter/engine#24333)
* Add flutter update packages to some tests.
Analyzer_benchmark and flutter_test_performance require to pub get
multiple directories. Rather than delegating the recipes to run flutter
update-packages we explicitly running on tests that need it.
Bug: https://github.com/flutter/flutter/issues/75524
* Add pub get directly on the analyis classes.
* Run flutter get in dev/tools.
* Fix directory path.
* Add more dependency directories.
* Fix typo.
* Add more dependencies.
* Add stocks dependency.
* Fix paths to some apps.
* Add more dependencies.
* Complete dependencies definition.
* More analysis dependencies.
* Add examples dependencies.
* Dev tool dependencies.
* Use update-packages for analyzer benchmark.