* Flatten change out from lots of merges and temporary hacks for #7224
* Expand fakes to cover cases where doctor passes
* -v != --verbose
* Cosmetic touchups
* delint
* Clean up summary line, add a switch for review comments
* Review comments
* nit
* review comment
* review comments
Using a void list literal in this case is valid and correct, and will be
required for dart 2.
Note: void can be inferred here, but followed the lints to write it
explicitly even though that's arguably a bit weird in this case and less
backwards compatible.
Note: also fixes a bug wherein bottom media padding was applied even in the
presence of persistent footer buttons.
The material spec states that the keyboard should be positioned on top
of any bottom navigation bar or persistent footer buttons widget(s).
We no longer inset the bottom of bottom navigation bars / persistent
footer buttons by the bottom viewInset.
Body content bottom (and the bottom of bottom sheets) is now determined
by the greater of:
1. bottom view inset (the keyboard height)
2. bottom elements (nav bar, footer buttons)
relative to the window max-Y.
0672055a72ff1265b2aedb037f2848455318f22a changed the Material widget to
always use Paths for representing the outline.
These paths are later used for clipping and drawing a shadow.
This changed introduced a performance regression, see:
https://github.com/flutter/flutter/issues/14403
We did not expect a path that is a rounded rectangle to be less
performant than a rounded rectangle, as Skia should be able to tell the
path is just a rounded rectangle.
Until we find a solution for this regression, we keep using RRect when
we can represent the shape with it.
In a scaffold, snackbars are positioned above the BottomNavigationBar
and/or PersistentBottomButtons, if present. In such cases, they should
not apply bottom media padding to their widget sub-tree.
* [kernel/flutter] Improve speed of first hot reload
* [kernel/flutter] Improve speed of first hot reload
* Revert "[kernel/flutter] Improve speed of first hot reload"
This reverts commit f3dc133878ec7405a8efb5715f1cfe720f4ea05f.
* Revert "[kernel/flutter] Improve speed of first hot reload"
This reverts commit f7bcb082b01cf9cf48f02c6aad9e5c79705def8f.
* Revert "Revert "[kernel/flutter] Improve speed of first hot reload""
This reverts commit 73c7a1a8e85a4c0397984d8b65a98b2f71bf84f3.
* [kernel/flutter] Improve speed of first hot reload
Do so by not evicting unnecessary paths (while still evicting paths
that was changed between the generation of the package file and the
initial upload).
* Fix grammar in method name
* Fix bad merge
* Add method to super class
For backward compatibility we keep supporting specifying the shape as a
combination of MaterialType and borderRadius, and we just use that as a
default when shapeBorder is null.
To cleanup the implementation if shapeBorder was not specified we just
translate the specified shape to a shapeBorder internally.
I benchmarked paint, layout and hit testing, with the specialized shape
clippers vs. the equivalent path clippers and did not see any
significant performance difference.
For testing, I extended the clippers/physicalShape matchers to match either the
specialized shape or the equivalent shape.
This updates the CupertinoAlertDialog to respect text scale factor more properly. Before this, it would scale, but would clip the action buttons at large scales, and would draw in the safe area. It also didn't match the iOS alert because the content didn't scroll. Now it does those properly.
I didn't address the fact that buttons should lay out properly (Issue #14345), but that's probably pretty low priority.
Fixes#12484
* Add a callback that fires when a Draggable leaves a DragTarget. This enables the DragTarget to manage its state from entry to exit.
* It helps to have a null check here
* Add test for onLeave callback and add verbiage to onWillAccept explaining the callback lifecycle of a DragTarget.
* Make the current command injected into the AppContext, allowing
other classes to inject the current command.
* Introduce `AssetBundleFactory`, an injected factory class for
spawning instances of `AssetBundle`. This allows other run contexts
to use custom asset bundling logic.
* Clean up RunCommand by removing a 'packages' argument that duplicated
a global argument by the same name (and for the same purpose).
Duplicate arguments are confusing and error-prone.
When running with --preview-dart-2, host variant of the engine is
required. Simulator builds, like device builds, should resolve
host_RUNTIMEVARIANT_OPTVARIANT, not host_RUNTIMEVARIANT_sim_OPTVARIANT.
* Unpin package:test and upgrade packages
* Update packages/flutter/test/foundation/stack_trace_test.dart
* Also add packages/flutter_tools/test/data/asset_test/font/.dartignore to ensure that update-packages --force-upgrade does not crash.
* controller, position and test
* Make controllers swappable
* WIP
* Create a ListWheelScrollPhysics
* Created picker and gallery demo and testing now
* Works. Ready to document and test.
* Document and add tests. Make the scroll controller more generic.
* minor cleanup
* review
* review
* fix tests
* stop using TransformLayers for now