Assert at build time that PageRoute route builders do not return null
widget trees.
Also very minor new code comments and code reorg to help make the heroes
patch easier to review.
(These are changes that are unrelated to Heroes but that were part of
the Heroes patch.)
The 0.2.1 release of the mojo package isn't actually compatible with Flutter
despite claiming to be a minor release. The real fix is to make Flutter
compatible with that release, but there are several yak shaves involved.
Introduces a new Widget that lays its child out, but does not render it.
Also, moves RenderOverflowBox to its own file since it has nothing to do
with proxy box really.
Provide a way to schedule a callback for immediately after the current
frame has been sent to the GPU thread. This is useful for times where
you want to immediately schedule yourself for another build or layout
because, for instance, you just displayed frame zero of an animation and
you want to use the metrics from that layout to set up the actual
animation to begin immediately, such that the very next frame is frame 1.
Adds a step to the updater to verify that the new .flx package is signed and
untampered.
Each .flx contains a signed manifest file. The manifest contains a SHA-256 hash
of the .flx contents. See bundle.dart for a description of the new .flx format.
It turns out that an AnimatedContainer with a BoxDecoration would
start animating every single time it was built, whether or not the
container's decoration had changed.
This widget is slow and not commonly used. The original reason we added it was
to colorize images, but now that feature is built into the image and background
image widgets.
Fixes#1646
A MaterialList understands the sizing, padding, and scrollbar features of
Material Design lists.
Also, add CircleAvatar for showing the circular avatars that are commonly used
in material lists.
Add a AnimatedRelativeRectValue class for animating RelativeRects.
Add a PositionedTransition class for animating Positioned using
AnimatedRelativeRectValues.
Add a test for PositionedTransition.
Fix a math bug a RelativeRect found by the test.
Fix a logic bug in the two ParentDataWidget classes found by the test.
Specifically, they were marking the child dirty, rather than the parent.
The parentData is for the parent's layout, not the child's, so they have
to mark the parent dirty. (I didn't hoist this up to the superclass
because ParentData could be used for painting, hit testing,
accessibility, or any number of other things, and I didn't want to bake
in the assumption that it needed markNeedsLayout.)
- truncate pixel values to 1dp since there's really no point being told
the Size is 302.98732587287 by 648.28498579187.
- describe more Widgets so that debugDumpApp() is more useful.
- remove bufferValue from ProgressIndicator (cc @hansmuller) since it's
not yet implemented.
- half-hearted toString() for ThemeData. There's no point making a
complete one, since it would cause line-wrap even on big monitors in
debugDumpApp dumps, and you can easily get the actual values from a
debugging if that's the issue.
- flesh out BoxConstraints.toString() so that fully unconstrained and
fully infinite constraints are called out explicitly. I experimented
with adding even more special cases, e.g. calling out unconstrained
widths with fixed heights, etc, but it made the output less readable.
- remove a redundant _updateVariable() in AnimatedContainer (cc
@abarth).
- add more information to RenderView.toString().