2992 Commits

Author SHA1 Message Date
pq
a417786d77 Update to latest analyzer (w/ cleanup).
Bye-bye `@protected `trampolines! :)
2016-06-30 10:39:45 -07:00
Hans Muller
d9b9983e1a Refresh indicator (#4788) 2016-06-30 10:07:28 -07:00
Adam Barth
63eedb7677 Semantics debugger shouldn't crash when reparenting nodes (#4782)
Our previous approach to detecting when we needed to remove semantics nodes
didn't account for reparenting.
2016-06-28 14:44:02 -07:00
pq
543f705adb Cleanup empty statements.
The new `empty_statements` lint (in the next DEV roll), flags these empty statements.  Harmless, except the one in `basic.dart` that fixes a real-life bug. :)
2016-06-28 13:42:22 -07:00
Chinmay Garde
1a5ca2f675 Fix failing tooltip_test.dart by avoiding floating point comparisons. (#4781) 2016-06-28 12:49:11 -07:00
Chinmay Garde
b8bcd62e54 Remove counters used to tag variables and symbols in the solver for debugging purposes. (#4780) 2016-06-28 11:58:24 -07:00
Hans Muller
77cd8ee40e Reproduce the Shrine home page portrait grid layout (#4779) 2016-06-28 11:05:18 -07:00
Adam Barth
41d6303570 Improve test coverage for material.dart (#4776)
Previously these widget had zero test coverage. Also, improve the
coverage tooling Mac.
2016-06-28 08:48:48 -07:00
Adam Barth
14f42a6a48 Improve test coverage in rendering.dart (#4775) 2016-06-27 17:38:53 -07:00
Adam Barth
bb0c41f2a6 Improve test coverage for gestures.dart (#4773)
This patch adds tests for some code paths we weren't hitting before and removes
some dead code that couldn't be tested because it was unreachable.
2016-06-27 14:42:41 -07:00
Adam Barth
2898768dde Add some missing docs (#4772)
These docs complete the dartdocs for their respective libraries.
2016-06-27 14:42:25 -07:00
Adam Barth
2af668f832 Change how navigator prevents redundant operations (#4769)
* Change how navigator prevents redundant operations

Instead of requiring transactions, we now cancel all active pointers that are
interacting with the navigator and absorb future pointers until we get a chance
to build. This approach isn't perfect (e.g., events that trigger off the
cancelled pointers could still interact with the navigator), but it should be
better than the current transaction-based approach.

Fixes #4716

* Remove openTransaction

* test

* fixup
2016-06-27 13:07:47 -07:00
Hans Muller
08bf1b6bce Scrollable dropdown, dropdown underline cosmetics (#4766) 2016-06-27 10:28:20 -07:00
Adam Barth
5fc04dab74 Document State (#4762)
This patch documents State in detail because it's a very common class
for developers to work with and it has a number of subtles.
2016-06-26 16:22:20 -07:00
Adam Barth
2fa6a709c9 Improve documentation for framework.dart (#4758) 2016-06-25 12:22:14 -07:00
Adam Barth
9c0c0225a6 Add a test for GridPaper (#4754)
Previously this widget was completely untested.
2016-06-24 20:46:17 -07:00
Chinmay Garde
ae835f08df Document the public members of the Cassowary package. (#4744) 2016-06-24 17:31:47 -07:00
Adam Barth
9850fe1861 Test all but one line in animation.dart (#4751)
The one line we don't test is the private constructor for the Curves class,
which exists to ensure that no one constructs the Curves class.
2016-06-24 16:33:04 -07:00
Adam Barth
b00efda7fc Improve change notifier (#4747)
This patch improves some subtle behaviors about the change notifier.
2016-06-24 15:53:48 -07:00
Chinmay Garde
490622b4da Add a wrapper for accessing the URL launcher service. (#4688) 2016-06-24 14:51:03 -07:00
Adam Barth
46da9e8498 Add a simple way of merging coverage data (#4726)
`flutter test` now has a `--merge-coverage` flag that can be used to merge
coverage data from previous runs, enabling faster iteration cycles.
2016-06-23 18:02:55 -07:00
Hans Muller
68efa6a3fc Correct scrolling tabbar tab indicator size (#4723) 2016-06-23 15:17:17 -07:00
Adam Barth
05eef4a9b2 Get to 100% test coverage for src/animation/animations.dart (#4721) 2016-06-23 15:15:31 -07:00
Adam Barth
56039c0e64 Improve test coverage for animation.dart (#4718)
We now have 100% coverage of animation.dart and animation_controller.dart.
Also, add some basic tools for working with lcov files. These tools need much
more polish.
2016-06-23 13:43:42 -07:00
Adam Barth
74761265bc Add dartdoc for tabs and text selection handles (#4715) 2016-06-23 13:43:16 -07:00
Hans Muller
c12c179a72 Make DataTable readable with the dark theme (#4717) 2016-06-23 10:59:07 -07:00
Ian Hickson
e5fb2fb0d3 An API for tracking software licenses. (#4711) 2016-06-23 10:34:11 -07:00
Phil Quitslund
55b51ee549 Merge pull request #4697 from pq/analyzer_0.27.4-alpha.14
Update to latest analyzer (0.27.4-alpha.14) and misc. analysis fixes.
2016-06-23 10:03:49 -07:00
Adam Barth
73cd70f776 Add test coverage for lastElapsedDuration (#4705)
Also, fix the bug where apps would assert when you change the time dilation.
Use that mechanism to fix the animation controller tests.
2016-06-22 17:14:55 -07:00
pq
b2fed16454 _BuildFunction => WidgetBuilder 2016-06-22 15:39:27 -07:00
pq
dcc7b144af Updated closure trampolines. 2016-06-22 15:25:25 -07:00
Hans Muller
bb2e7b5250 Add AppBar iconTheme parameter (#4693) 2016-06-22 15:19:31 -07:00
pq
352e2f573b Update to latest analyzer (0.27.4-alpha.14) and misc. analysis fixes.
* brings in analyzer version (`0.27.4-alpha.14`) corresponding to current Dart SDK (`1.18.0-dev.2.0`).
* updates analysis to use prefered API for embedder URI resolution
* adds trampolines to `State` and `StatelessWidget` to allow for warning-free within-library @protected access (needed since we closed off access to @protected closures from outside subclasses).
* turns off cache dependency tracking for analysis (in DDC this amounted to a 10% speed improvement).
2016-06-22 14:34:30 -07:00
Ian Hickson
cd89e867ef About box API (#4677)
This API is the front-end part of the work on showing licenses.

Future patches will:

* Provide an API for registering what licenses should be shown here,
  which will be used by this feature to shown licenses but could also be
  used by custom code for showing licenses (e.g. for people not using
  the Material widgets).

* Actually populate this license API from all the licenses we currently
  use in the engine, in the framework, and from any pub packages that
  are used (directly or indirectly) by the application.
2016-06-22 10:42:02 -07:00
Adam Barth
bf740cf46b Restore SystemChrome.setEnabledSystemUIOverlays (#4680)
I erroneously removed this function in an earlier patch. Also, export
SystemUiOverlayStyle because we expose that enum in the SystemChrome
API.
2016-06-22 16:45:47 +02:00
Adam Barth
a8f6f44a55 Update engine to include new version of Mojo (#4668)
This required switching from the Future-based bindings to the callback-based
bindings.
2016-06-21 15:53:47 -07:00
Hans Muller
b81229b5f1 DropdownButton layout (#4582) 2016-06-21 15:20:35 -07:00
Hans Muller
0e38cba95f Make the limit that defines Row/Column free space configurable (#4646) 2016-06-21 14:29:22 -07:00
Adam Barth
97c1f0b7b2 Route.didMount should throw a useful error message (#4665)
The error code path wasn't actually getting the point where it would throw the
useful error message. Also, fix error recovery when runApp fails.

Fixes #4655
2016-06-21 14:10:13 -07:00
Todd Volkert
2e48c1a1bb Simplify SystemChrome.setSystemUIOverlayStyle() (#4653)
* Only schedule overlay style update microtask if needed

* Simplify API
2016-06-21 08:28:29 -07:00
Ian Hickson
e502e9c8f8 ImageIcon (#4649)
Anywhere that accepted IconData now accepts either an Icon or an
ImageIcon.

Places that used to take an IconData in an `icon` argument, notably
IconButton and DrawerItem, now take a Widget in that slot. You can wrap
the value that used to be passed in in an Icon constructor to get the
same result.

Icon itself now takes the icon as a positional argument, for brevity.

ThemeData now has an iconTheme as well as a primaryIconTheme, the same
way it has had a textTheme and primaryTextTheme for a while.

IconTheme.of() always returns a value now (though that value itself may
have nulls in it). It defaults to the ThemeData.iconTheme.

IconThemeData.fallback() is a new method that returns an icon theme data
structure with all fields filled in.

IconTheme.merge() is a new constructor that takes a context and creates
a widget that mixes in the new values with the inherited values.

Most places that introduced an IconTheme widget now use IconTheme.merge.

IconThemeData.merge and IconThemeData.copyWith act in a way analogous to
the similarly-named members of TextStyle.

ImageIcon is introduced. It acts like Icon but takes an ImageProvider
instead of an IconData.

Also: Fix the analyzer to actually check the stocks app.
2016-06-20 21:04:45 -07:00
Adam Barth
e071f0bafd Nesting MaterialApps should not assert (#4636)
Turns out we weren't managing focus correct between navigator routes because we
were missing a Focus widget above the routes. However, adding this widget
caused us to explode at startup because the initial route was trying to move
focus during the build phase.

This patch teaches Focus to have an initiallyFocusedScope, which can be use to
initialize the child focus scope.

Fixes #4065
2016-06-20 17:01:34 -07:00
Adam Barth
b3780ebc16 Fix asserts in Draggable dismounting (#4644)
In writing a test for #1927, I found a number of bugs in how Draggable shuts
down. Previously it would leak its recongizer. Now it disposes its recognizer
and the recognizer knows how to be disposed cleanly.

Fixes #1927
2016-06-20 15:58:20 -07:00
Ian Hickson
cff31a3f6d IconThemeData.size (#4633) 2016-06-20 14:21:28 -07:00
Todd Volkert
5809a0cb71 Move Brightness back to the material library (#4635) 2016-06-20 13:16:03 -07:00
Hans Muller
c707b53f01 AppBar bottom widget, not necessarily a TabBar (#4631) 2016-06-20 12:45:20 -07:00
Todd Volkert
ef6a4faa8d System chrome overlay style fixes (#4627)
* System chrome overlay style fixes

1) Add a cache to avoid superfluous calls to the embedder
2) Coalesce calls to the embedder that are made in the same event loop
3) Move call site to material's AppBar from Title widget

#4461
2016-06-20 11:53:19 -07:00
Ian Hickson
833b121664 Fix Switch (#4622)
I broke them when refactoring images. Oops.
2016-06-17 15:36:53 -07:00
Ali Ghassemi
94c4222f2b Few overscroll glow fixes. (#4610)
Fixes #4169 and also now overscroll indicator is dismissed the moment
user scrolls in the opposite direction (#4603) but the bounce overscroll
that happens behind the scene and is clamped in the indicator is still
problematic and needs to be fixed. However these fixes are orthogonal to that.

Also closes #4127 as I verified the timeout feature (reduced the duration
to 500ms to be closer to Android behaviour)
2016-06-17 14:44:00 -07:00
Ian Hickson
3a88a973a3 Trivial but confusing typo in SynchronousFuture docs (#4599) 2016-06-17 10:42:57 -07:00