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.
This adds ".pub-cache" to the list of directories to ignore when checking for dependence upon dart:test, since when people install a downloadable package, their pub cache is in the flutter directory.
Also, I centralized the ANSI "red line" so that they would all use the same final string.
This updates the test to match the engine API change introduced in:
https://github.com/flutter/engine/pull/6081
This also rolls the engine, the roll includes only the relevant engine commit:
```
091492601 Allow passing extra creation parameters for embedded Android views. (#6081)
```
* added keyboard functionatliy to android builds
* Added tests
* almost ready for review
* ready for review
* Fixes
* final comments
* final commit
* removing raw keyboard changes
* removing raw keyboard changes
* removing raw keyboard changes
* actual last commit
* fixed the imports
* a few more changes
* A few more changes
* a few changes
* Final changes
* Final changes2
* final actual commit for real
* final actual commit for real2
* final actual commit for real3
* final actual commit for real4
* final
* final 2
* f
* f2
* fin
* fin 2
* fin3
* fin4
* Start logger in startProgress to avoid assertion failure
There are lots of places that create a Status() and all but two of them call ..start() immediately. This is one of the places that doesn't, which causes an assertion failure when running with --enable-asserts and the other is in the same file (I suspect it's also incorrect, but possibly it's never used - I'll look at that separately when I can trace some code that calls it).
Fixes#20812.
* Enable asserts for tools tests
* Fix lint
* Rename enableAsserts -> enableFlutterToolAsserts
To make it clearer that it only enables asserts for flutter_tools when set.