This PR adds 2 features to RenderAndroidView and AndroidView:
1. Hit testing behavior
Adds a `PlatformViewHitTestBehavior` which is similar to
`HitTestBehavior` without the `deferToChild` option (as platform views
don't have child render objects) and with a `transparent` option which
prevents it from forwarding any events to the Android view.
2. MotionEvent recomposing logic
FlutterView and the framework `converter.dart` are working together to
transform each Android MotionEvent object into one or more
`PointerEvent` objects.
This PR adds the reverse logic (in _MotionEventDispatcher which is used
by RenderAndroidView) which turns a stream of PointerEvent objects into
MotionEvent objects.
The correctness of the recomposing logic is tested in an integration
test which will land in a separate PR (the unit test PR is pretty big,
trying to keep as many bite-size PRs for reviewer's convenience)
This removes the final traces of Travis and Appveyor from the Flutter tree.
I've updated the documentation and fixed a couple of places where scripts look for Travis, and eliminated the dart tools runningOnTravis function (which was unused anyhow).
There are places in the flutter script that used to look for the environment variable TRAVIS. We actually do want to continue to detect that we're running on Travis there, since in the plugins repo we still use Travis (for the moment). In any case, it's OK, because the CI environment variable is set on all of the CI bots (Cirrus, Travis, and Appveyor).
FastLane doesn't have a setup_cirrus equivalent to setup_travis, but it actually doesn't matter there either, since it doesn't do Travis-specific things, and it also looks for the CI environment variable.
* Refactor analysis benchmark and collect more data (#20169)
This does some code cleanup to avoid duplication, improves the logs,
and records min and max values as well as the mean.
* Fix typo that led to infinite loop
This switches docs and gallery build and deployment to use Cirrus CI instead of Travis, reapplying the changes from #19925, but updating the Firebase tokens for upload, and refining docs.sh some to limit retries to five times (instead of indefinitely).
* Enable lint unnecessary_statements. Codebase is compliant.
* Fix mega_gallery generated code to not generate unecessary statements
* Fix lint in mega gallery changes
* Enable unnecessary_statements for users as well as repo.
* Revert "increase size of user account drawer headers to 48 by 48 (#20266)"
This reverts commit 4a7b4a4dde26af64e949388fe8e06d37337ed887.
* Revert "EditableText Cursor can be set to not blink for testing (#20004)"
This reverts commit d041b319e8bda5d02b4d83197eecd3f4ff8a97cf.
* Revert "Refactor analysis benchmark and collect more data (#20169)"
This reverts commit 5ea0a13598697df94937f691783a16b42535b47e.
ecbb2b28d Call drawPaint instead of drawPath if there's clip (flutter/engine#5937)
597a50849 Roll src/third_party/skia cdfa16d086b8..4c3b63e289c5 (9 commits) (flutter/engine#5936)
715b64ee3 Roll src/third_party/skia 1400d38e0863..cdfa16d086b8 (10 commits) (flutter/engine#5934)
ffbafc852 Flush all embedded Android views on hot restart. (flutter/engine#5929)
9fe6a573e Roll src/third_party/skia 578ef2847b72..1400d38e0863 (7 commits) (flutter/engine#5933)
3b66f20d9 Don't drop MotionEvents with unknown tool type. (flutter/engine#5931)
391ac2f95 Roll src/third_party/skia 64cc576b1fa7..578ef2847b72 (20 commits) (flutter/engine#5930)
Goldens:
64b7a3a Add updated golden files
cb1fa8a Update golden files of PhysicalModel and PhysicalShape
3baed8d Add a goldens package for the embedded Android views integration test.
This adds a Docker image for the linux builds, replacing a lot of the setup code with a Docker build.
Added a docker image build step that has the right gcloud credentials in it.
Also, this finally moves the gallery deployment and docs publishing steps to Cirrus. They were dependent upon some environment setup that was a lot easier to do in Docker than in a setup bash script.
The following changes are made by this PR:
* Translation bundles now implement MaterialLocalizations directly,
and are public so that they can be directly extended.
* The list of supported languages is now a generated constant.
* The icuShortTimePattern/TimeOfDayFormat values are now pre-parsed.
* Various other changes for consistency with the style guide and the
rest of the codebase, e.g. the class names don't use `_`, the
`path` library is imported as such, more dartdocs, fewer `//
ignore`s, validation using exceptions.
This reduces our technical debt benchmark.
See details in our proposal for this breaking API change and #18057. This PR setup all code paths to allow the change but doesn't change the clip behavior by itself. We'll change `defaultClipBehavior` from `Clip.antiAlias` to `Clip.none` in the following PR to change the clip behavior and update tests.
flutter/engine@4893b07 Roll src/third_party/skia e43024a5bab7..64cc576b1fa7 (1 commits)
flutter/engine@aa7326a Roll src/third_party/skia ed8bc196bd56..e43024a5bab7 (1 commits)
This roll also switches flutter_tester to use the new minimal ICU data config, which are already in use for app builds. This unifies the ICU data in use. Everything now uses the flutter-specific minimal configuration.