* Split analysis steps out of dev/bots/test.dart into dev/bots/analyze.dart.
This allows to run analysis step with command line arguments that are only applicable to flutter analyze(like --dart-sdk, needed for dart-flutter-engine head-head-head bot).
* Add forgotten dev/bots/analyze.dart
* Refactor common code from analyze.dart and test.dart into run_command.dart
* Remove comments, add header
* [FAB] Updated tooltip touch target.
* Remove "new" keyword
* [FAB] Updated tooltip touch target.
* "long press button edge"
* remove new
* remove new
* put "new" keywords back in
* Remove check for childless tooltip
* Added regression test - tooltip works on edge of FAB which has no child.
Added helper method to find the right edge of a in the tests.
* Changed "find.byType(text)" to "find.text('Add')"
When switching between channels, we were leaving around the version freshness stamp file (bin/cache/flutter_version_check.stamp), which meant that the flutter tool would read from that file to see what the cached date of the most recent commit to the current channel (branch) was. The problem was that since the file was created while on the previous channel, the cached date was for the wrong channel, so if you switch from master to beta, flutter would think that the channel was out of date, and a new version was available, at least for three days after the first time it checked (after three days since the last time the freshness was checked, the cached date would get updated).
This PR modifies the channel command to remove that stamp file whenever the user switches channels, so that the cached date will be from the right channel when it is recreated.
Fixes#21134
This is a bit of a stab in the dark for a flake sometimes seen on bots (but I can't repro locally) #20822. Detaching from a Flutter app currently seems to terminate it, so it may be the cause of the "app not found" when trying to stop the app subsequently.
This change means we stop the app from the main process first, before terminating the attach process.
* Roll engine to 56139397e6ae1257bdabd1ef79ff7aca96c67d4.6
Changes since last roll:
```
56139397e Roll src/third_party/skia 7ba1d64f0706..5f0726b01019 (12 commits) (#6104)
47a1ce0e6 Allow embedders to set the root surface transformation. (#6085)
```
* Roll engine to f3ff83a5db71262d240aa5337a2a9a22c73c4749. (dart roll).
* Add const
* Add ignore analyzer prefer_const_constructors_in_immutables
* Fix coverage collection crash
Based on Jason's patch in https://github.com/flutter/flutter/pull/19546/
This is more or less the same but I tried to avoid using `dynamic`.
* Improve argument and variable names in flutter_platform
* Don't bother with reduce, since the order is guaranteed.
* Don't time out if process terminates when told to stop but response was not processed
While trying to reproduce #20822 I found a condition where the app may quit before the `app.stop` response is received but this code (which is called in integration test teardown) would sit around waiting and time out. With this change, the process exit is considered a valid response to the stop request.
* Add process exit to log for better errors in failures
This log can be turned on for debugging but is also dumped when a test fails (in certain conditions). With this in the log, it'll be clear if the timeout is because we're waiting for an event but the process quit.
This re-lands commit c594696.
The original PR was breaking the integration test as while the
gesture was active the AndroidView's parent widget got rebuilt which
disposed the _AndroidViewGestureRecognizer and dropped pointer events
from that point on.
This change adds a unit test that reproduces the failure case, and
fixes it by not rebuilding the _AndroidViewGestureRecognizer if the
list of gesture recognizers did not change.
Pointer events are dispatched to the Android view only if it won
Flutter's gesture arena for the pointer.
Specific gestures that should be dispatched to the android view can be
specified with the gestureRecognizers parameter.