If you tap outside the drop down menu while its animating in, we should
animate it away smoothly. Previously, we jumped to the reverseCurve,
which made the menu disappear immediately. Now we hold the animations as
state, which means we keep their _curveDirection property and don't
switch curves unless the animation actually finishes.
Also, fix a subtle bug in CurvedAnimation whereby we'd never set the
_curveDirection if we didn't see a status change in the parent
animation. Now we initialize _curveDirection based on the current value
of the parent's status.
Fixes#4379
Instead of using getTotalMatrix and setMatrix, we can just use
save/restore, which is more idiomatic.
The getTotalMatrix/setMatrix pattern was introduced to improve
performance, but the original code was calling getTotalMatrix/setMatrix
at every node in the sprite tree, which is much slower than the normal
save/transform/restore pattern.
Related to #4254
* Add a map of relative to absolute paths for assets located outside the app's
source directory
* If a "packages" directory exists, obtain assets from there instead of
using the packages/ prefix to indicate package map lookup
1. Use the primary color brightness to determine the color of the status bar.
The status bar overlaps the toolbar, which has the primary color.
2. Use Roboto for text.
Also:
* Make PaginatedDataTable able to scroll itself horizontally.
* Make drop down buttons support having an explicit text style and icon
size given.
* Fix a bug with drop-down buttons asserting when opened partly
off-screen.
* Make sure to pop the drop-down button's route if the drop-down button
is discarded while the route is up.
* Remove extraneous padding on drop-down buttons. (Couldn't figure out
why it was there, and it breaks alignment when a drop-down is mixed
with other text.)
* Some docs improvements.
* Add Route.isActive
* Add a setState() method to ModalRoutes.
I was also going to implement sorting and emptying the cart but the
current data model doesn't make that easy, so I gave up on that. That's
why the TODOs are moved around though.
* refactor the --resident run option into a separate file
* update daemon to run --resident apps
* re-plumbing daemon start
* send app logs
* update tests
* review changes
* fix test runner
* remove PackageMap.createGlobalInstance; rely on the ctor
* review comments
This fix isn't completely statisfying because it has a scaling limit. The ideal
fix would actually viewport the tiles in the grid. However, this fix is much
easier at the moment.
Fixes#4395
Now that there's a new string_scanner in town, we're having dependency
resolution conflict because of flutter_markdown's tight dependency. This
patch loosens the dependency and resolves the conflict.