3592 Commits

Author SHA1 Message Date
Adam Barth
76f66605b0 TabView should keep state
Previously, we lost sync with the tab view contents when switching tabs. Now we
key the subtrees to make sure they keep their state across tab animations.

Fixes #3147
2016-04-06 17:15:53 -07:00
Hans Muller
c058cf2e81 Overscroll indicator for MaterialList
Overscroll indicator for MaterialList
2016-04-06 16:46:37 -07:00
Adam Barth
2d49e8074c Remove MixedViewport
Also, port the MixedViewport tests to LazyBlockViewport. Fix bugs found by the tests.
2016-04-06 15:24:52 -07:00
Devon Carew
2383d605cd add the dart vm version to flutter doctor
* add the dart vm version to flutter doctor

* drop the dart vm change
2016-04-06 15:11:54 -07:00
Devon Carew
39efe4afef have flutter build emit better help text 2016-04-06 14:29:54 -07:00
Ian Hickson
798dfa2bc9 Fix analyzer warnings
Fix some legit uses of GlobalKey to specify the type they want.



Fix some sketchy uses of GlobalKey in tests to fake it with "as

dynamic".



Remove some extraneous imports that made the build red.
2016-04-06 14:14:34 -07:00
Adam Barth
7ab122e557 PopupMenuButton should lazily build menu items
Previously, the client of PopupMenuButton needed to build all the menu times

when building the PopupMenuButton. This can get expensive if, for example, each
item in a scrollable list has a popup menu associated with it.

Now the client passes a builder function to the PopupMenuButton that gets
invoked only when its time to show the menu items.
2016-04-06 13:28:09 -07:00
Chinmay Garde
b930f0d4ff Update engine and temporarily get rid of custom build directories in flutter build ios 2016-04-06 12:55:48 -07:00
krisgiesing
0213b67e76 Handle dirty bits correctly when render objects are re-attached
Fixes #2855
2016-04-06 12:39:22 -07:00
Adam Barth
6fd6859793 LazyBlock docs and physics
This patch adds dartdoc to LazyBlock. Also, this patch fixes the scrolling
physics of LazyBlock. Previously, we updated a running simulation only when the
change in scroll behavior changed the current scroll offset. Now we update
running simulations every time the behavior changes because the simulation
might depend on quantities other than the current scroll offset.
2016-04-06 12:36:54 -07:00
Chinmay Garde
0bf68cc5cb Merge pull request #3140 from chinmaygarde/master
Add a `--no-codesign` option to `ios build` to disable code signing.
2016-04-06 12:33:03 -07:00
Ian Hickson
dea7c34718 Allow Tweens to lerp to null. 2016-04-05 22:32:54 -07:00
Adam Barth
40899eb274 Port clients of ScrollableMixedWidgetList to LazyBlock
LazyBlock is going to replace ScrollableMixedWidgetList at some point.
2016-04-05 20:18:35 -07:00
Matt Perry
bd407cea0d Merge pull request #3117 from mpcomplete/tooltip
Fix typo in Tooltip's shouldRelayout method.
2016-04-05 18:06:49 -04:00
Adam Barth
618e7e4942 Adds a first draft of LazyBlock
LazyBlock is intended as a replacement for MixedViewport. Rather than

maintaining a table of all the observed child sizes (like

MixedViewport), LazyBlock works by dead reckoning the location of the

children based on the existing viewport. This approach makes it easier

to resize children because LazyBlock doesn't cache any additional

information that would need to be invalidated.



This patch contains a first draft of LazyBlock that works in a simple

usage scenario. Subsequent patches will replace

ScrollableMixedWidgetList with LazyBlock and port the existing

ScrollableMixedWidgetList tests over to LazyBlock.



Related to #3075
2016-04-05 14:13:31 -07:00
Ian Hickson
b9f048172d Introduce a color for selected rows in data tables
- Rename unselectedColor to unselectedWidgetColor.

- Rename selectionColor to textSelectionColor.

- Add selectedRowColor.

- Remove hintOpacity since it's not tested and has no demo clients.

- Add some docs.
2016-04-05 13:07:26 -07:00
Hans Muller
d682c13b34 First drag moves selected tab indicator 2016-04-05 13:05:37 -07:00
Devon Carew
9a4c2c681f add a dev/dartdoc.dart script to generate docs for the packages/ packages
* add a dev/dartdoc.dart script to generate docs for the packages/ packages

* remove description

* rename readme

* change to using --include-external

* move docs to dev/docs
2016-04-05 12:33:12 -07:00
Devon Carew
e9a24510bd fast fail update-packages 2016-04-05 10:22:36 -07:00
krisgiesing
5e3d8cf2d3 Merge pull request #3106 from krisgiesing/remove_getters
Remove public accessor for paint dirty state
2016-04-05 09:52:26 -07:00
Adam Barth
3665866fba Add some sensible defaults to FixedColumnCountGrid and MaxTileWidthGrid
If we use null for these values, the implementations will later assert.



Fixes #3102
2016-04-04 20:47:05 -07:00
Ian Hickson
70053fff07 Handle tables that don't have decorations. 2016-04-04 17:10:31 -07:00
Yegor
19e624ccfe [driver] give the timeline data some structure
Fixes https://github.com/flutter/flutter/issues/2713
2016-04-04 17:07:16 -07:00
Ian Hickson
6ea7ab89ff Add a row decoration to RenderTable
This will let us draw in-row bottom borders and row-wide backgrounds,

both of which are necessary for Material data tables.
2016-04-04 16:53:38 -07:00
Devon Carew
653566dd23 simplify toolchain setup 2016-04-04 13:10:56 -07:00
Adam Barth
73bee3ae29 Document progress indicators
Specifically, explain how to create both determinate and indeterminate progress

indicators.



Fixes #3055
2016-04-04 12:32:37 -07:00
Ian Hickson
5291b37fc7 Track how many public Flutter members lack docs
* Enable the lint require documentation.

* Track how many public Flutter members lack docs

* Rename the .analysis_options file

This makes Atom happier in the flutter_tools package.
2016-04-04 12:18:13 -07:00
Adam Barth
767ce82646 Add support for discrete material sliders
Fixes #1541
2016-04-04 11:14:12 -07:00
Ian Hickson
daa0d2dfb3 Document newton more. 2016-04-03 23:33:34 -07:00
Ian Hickson
7f2efb2cfd Further improve error reporting by wrapping messages. 2016-04-03 12:00:01 -07:00
Ian Hickson
ee703da9de Rationalise all our exception handling.
- Create a FlutterErrorDetails struct-like class that describes an

  exception along with more details that aren't in the exception, like

  where it was caught and what was going on when it was caught.



- Provide a FlutterError static API for handling these objects:



  - FlutterError.onError which is called whenever Flutter catches an

    error.



  - FlutterError.reportError() which handles an error.



  - FlutterError.dumpErrorToConsole() which is the default behavior

    for onError.



- Removes all the existing exception handler callbacks.



- Replaces all the existing places that described exceptions using

  debugPrint with calls to FlutterError.reportError().



- Extend lockState() to also catch exceptions, so that we catch

  exceptions that happen during finalizers.



- Make the test framework catch errors and treat them as failures.



- Provide a mechanism to override this behavior in the test framework.



- Make the tests that used to depend on the exception handler

  callbacks use this new mechanism.



- Make pump() also support the phase argument.



- Improve some tests using these new features.



Fixes #2356, #2988, #2985, #2220.
2016-04-02 10:24:12 -07:00
Ian Hickson
3cd58547cd Clean up and document icon button color logic 2016-04-01 21:23:01 -07:00
Adam Barth
665ac49b57 Add support for backdrop filters
For example, to implement backdrop blur effects.
2016-04-01 21:15:43 -07:00
Yegor
055fd00dc1 Merge pull request #3058 from yjbanov/timeline-summary
[driver] utility for extracting and saving timeline summary
2016-04-01 17:48:25 -07:00
Ian Hickson
71e689f450 Have a default default text style.
This way, widgets that try to use the DefaultTextStyle don't have to

handle the case where there isn't an explicit default.
2016-04-01 16:10:27 -07:00
Ian Hickson
902391b048 Realign the slow mode banner to not overflow. 2016-04-01 14:54:58 -07:00
Adam Barth
ca4b5cf497 Polish drop-down padding
Previously we weren't padding the top and the bottom of drop-down menus but the

spec says these should have 8.0 pixel of padding, the same as popup menus.



Fixes #2683
2016-04-01 12:58:19 -07:00
Jason Simmons
379c563b62 Merge pull request #3034 from jason-simmons/gradle_flx_refresh
Support "flutter refresh" in the Gradle-based sample project
2016-04-01 12:39:04 -07:00
Adam Barth
c1440e2261 Merge pull request #3022 from abarth/polish_selection_controls
Polish selection controls
2016-04-01 11:14:04 -07:00
Andrew P. Wilson
f516dbcc2e Leave all entered targets when finishing. 2016-04-01 09:45:28 -07:00
Devon Carew
18d29583d0 pubspec normalization; remove den 2016-04-01 08:33:22 -07:00
Adam Barth
4cc9416bf2 Merge pull request #3026 from abarth/capture_closure
Capture closures around megamorphic dispatches
2016-04-01 08:30:18 -07:00
Adam Barth
622bec43be Capture closures around megamorphic dispatches
The performLayout and build callsite are highly megamorphic because they
dispatch into a large number of clients. However, for a given caller, the
callee is always of the same type, which means the megamorphic lookup exactly
factors by the caller. We can speed up the dispatch by capturing a closure at
initialization and then monomorphically dispatching through the closure.
2016-04-01 08:19:37 -07:00
Adam Barth
fca2ac1189 Merge pull request #3023 from abarth/add_test
Add a scrolling test now that it passes
2016-04-01 08:16:35 -07:00
Adam Barth
884ec65c9e Don't delay between dismissing a snack bar and the next snack bar
Previously, the Dismissable widget was animating down to zero width off
screen. Now, we tell it to skip the resize animation.

Fixes #3030
2016-03-31 23:25:03 -07:00
Adam Barth
35d5b73ab5 Add review feedback to dartdocs 2016-03-31 23:06:11 -07:00
Adam Barth
cf80b90507 Merge pull request #3025 from abarth/fix_docs
Fix broken link in the docs
2016-03-31 17:32:42 -07:00
Adam Barth
c0842205ca Merge pull request #3027 from abarth/drop_down
Drop is a separate word than down
2016-03-31 17:28:35 -07:00
Adam Barth
dbb7c2e850 Add a scrolling test now that it passes
We fixed this issue a different way but the test is still valuable.
2016-03-31 17:28:20 -07:00
Yegor
0b5b345134 Merge pull request #3019 from yjbanov/pause-event-workaround
[driver] switch to different pause event workaround
2016-03-31 16:56:24 -07:00