Move the notch computation from the FAB to the BAB.
The notch in the BAB (bottom action bar) for the FAB (floating action button) was previously kept as part of the FAB's implementation. This was done to keep the shape of the FAB and the shape of the notch coupled.
That approach resulted in a somewhat complex and 'non Fluttery' mechanism for propagating the notch computation from the FAB to the BAB.
This CL uncouples the FAB and the notch computation.
With the new API the BAB computes its overall shape including the notch using a NotchedShape delegate.
This includes multiple breaking changes:
* Scaffold.setFloatingActionButtonNotchFor is deleted.
* The ComputeNotch type is deleted.
* The hasNotch property of BottomAppBar is deleted.
* The notchMargin property of FloatingActionButton is deleted.
Quick migration guide from the previous API:
| Previous API | New API |
| ------------------|-------------|
| BottomAppBar(hasNotch: false) | BottomAppBar() |
| Using a FloatingActionButton with: BottomAppBar() / BottomAppBar(hasNotch: true) | BottomAppBar(shape: CircularNotchedRectangle()) |
| Scaffold.setFloatingActionButtonNotchFor(..) | No longer supported |
* Use RenderAnimatedOpacity within AnimatedOpacity widget (#15466)
* Fixed minor bug in RenderAnimatedOpacity
* Updated protected API for ImplicitlyAnimatedWidget
* update tests for TextStyle changes in engine
* roll engine, support Foreground on TextStyle
* roll to TextStyle.foreground
* add tests, update docs, fixes from tests
* add golden tests
* stroke + gradient
* update goldens hash
* Use centered widget
* fix typo
* Disable golden tests until Linux generated files are available
* update goldens
This adds an HSLColor class which uses a perceptual color space based upon human perception of colored light (as opposed to HSV, which is based on pigment colors).
You can see the difference in the color spaces here: https://en.wikipedia.org/wiki/HSL_and_HSV
I also added a "within" matcher for both HSLColor and HSVColor that will check if the (floating point) color components are within a certain error.
And tests.
Seems like VS Code may have started using lowercase extension folders recently (our identifier is `Dart-Code.flutter` but now the folder is named `dart-code.flutter`), so this makes the check not sensitive to casing.
Also reuse extension identifier for download link
We have many hidden children because of iOS accessibility (see also #18410).
For example, in the tile screen of complex_layout app, there could be up to 20 children being painted without this PR. With this PR, only 12 get painted.
This should improve the performance of FL-53 by 40%.
fuchsia_tester.dart still assumes Dart 1. Previously, it ran tests directly
from source, flutter_platform.dart automatically runs a kernel compile when
operating in Dart 2 mode, but this assumes a functional Dart SDK is available
in the artifacts directly, and fuchsia_tester.dart mocks out the artifacts
directory with an empty temp dir.
Remaining work is:
1. Get the frontend server building as a dependency on Fuchsia.
2. Patch fuchsia_tester.dart to use a valid Dart SDK and frontend server.
This also reverts migration to Dart 2 typedef syntax.
This reverts commit 6c56bb2. (#18362)
This reverts commit 3daebd0. (#18316)
Similar to the flutter driver, now the fuchsia_remote_debug_protocol can
connect via an environment variable. This can also be used to point to
the SSH config location.
This makes it so that tests written using the FRDB do not have to write
extra information about where their device is on the network.
* Fix anchors for GitHub
For some reason GitHub lowercases the anchor names so although these links all work in the local VS Code preview, the ones with capitals didn't work in the GitHub UI!
* Fix some typos