5944 Commits

Author SHA1 Message Date
Adam Barth
5460e94488 Add docs to Element.performRebuild (#3667) 2016-05-02 13:38:07 -07:00
Jason Simmons
f161f239ef Download Android AOT tools to the artifacts cache and build APKs using these tools (#3649)
Also update the engine to a build where these tools have been uplaoded
2016-05-02 11:40:32 -07:00
Adam Barth
21f1827bad Add a sensible error message when jarsigner is missing (#3665)
Fixes #3624
2016-05-02 10:27:34 -07:00
Devon Carew
a807b009ad Re add large sample (#3661)
* Revert "Revert "Mega gallery (#3647)" (#3659)"

This reverts commit ea62d31fde20ab109d51aa9d0104583c414b13a4.

* fix the dev/dartdoc.dart script
2016-05-01 15:52:51 -07:00
Adam Barth
5a3327bb7b Update engine.version (#3660) 2016-05-01 15:37:41 -07:00
Adam Barth
ea62d31fde Revert "Mega gallery (#3647)" (#3659)
This reverts commit 9497fb56d44b21a701b9c9da37af8f7c36fe2120.

This patch broke the dartdoc step on the bots.
2016-05-01 14:58:40 -07:00
Devon Carew
66c868e492 Update pubspec.yaml
Pick up a bug fix to the `usage` package.
2016-04-30 08:19:36 -07:00
Devon Carew
9497fb56d4 Mega gallery (#3647)
* working on a large benchmark app

* build a 100k saple app

* print sizes of other libs; scale to 60k lines

* test the generated app on travis
2016-04-29 21:47:17 -07:00
Andrew Wilson
1c053b7d0a Fix NetworkImage by always auto following redirects. (#3653) 2016-04-29 20:53:53 -07:00
Adam Barth
b2fa6c250a Fix the padding and space for FlatButton and RaisedButton (#3650)
Instead of incorporating the margin into the button, introduce a ButtonBar
widget that supplies the proper spacing between the buttons. Also, make these
buttons more configurable via ButtonTheme so that dialogs can change the
minWidth and padding of the buttons as required by the spec.

Fixes #1843
Fixes #3184
2016-04-29 16:13:25 -07:00
Adam Barth
f8d76d1851 Center the "slow mode" banner (#3651)
Also add dartdocs.
2016-04-29 16:12:56 -07:00
Viktor Lidholt
ed40dd3577 Initial set of tests for flutter sprites (#3643)
* Initial set of tests for flutter sprites
2016-04-29 14:46:09 -07:00
Jason Simmons
01a27ca4ae Build ahead-of-time compiled snapshots and incorporate them into Android APKs (#3592)
This currently requires a local build of the engine.

Run "flutter build aot" to build an AOT snapshot.
Run "flutter build apk --profile" to build a "profile mode" APK that uses AOT.
2016-04-29 13:44:01 -07:00
Devon Carew
53c07045f2 create a service extension to terminate an app (#3634) 2016-04-29 13:34:31 -07:00
Yegor
7c017898da invert first frame condition to make it positive (#3641) 2016-04-29 13:34:06 -07:00
Ian Hickson
91dd969966 Refactor the test framework (#3622)
* Refactor widget test framework

Instead of:

```dart
  test("Card Collection smoke test", () {
    testWidgets((WidgetTester tester) {
```

...you now say:

```dart
  testWidgets("Card Collection smoke test", (WidgetTester tester) {
```

Instead of:

```dart
  expect(tester, hasWidget(find.text('hello')));
```

...you now say:

```dart
  expect(find.text('hello'), findsOneWidget);
```

Instead of the previous API (exists, widgets, widget, stateOf,
elementOf, etc), you now have the following comprehensive API. All these
are functions that take a Finder, except the all* properties.

* `any()` - true if anything matches, c.f. `Iterable.any`
* `allWidgets` - all the widgets in the tree
* `widget()` - the one and only widget that matches the finder
* `firstWidget()` - the first widget that matches the finder
* `allElements` - all the elements in the tree
* `element()` - the one and only element that matches the finder
* `firstElement()` - the first element that matches the finder
* `allStates` - all the `State`s in the tree
* `state()` - the one and only state that matches the finder
* `firstState()` - the first state that matches the finder
* `allRenderObjects` - all the render objects in the tree
* `renderObject()` - the one and only render object that matches the finder
* `firstRenderObject()` - the first render object that matches the finder

There's also `layers' which returns the list of current layers.

`tap`, `fling`, getCenter, getSize, etc, take Finders, like the APIs
above, and expect there to only be one matching widget.

The finders are:

 * `find.text(String text)`
 * `find.widgetWithText(Type widgetType, String text)`
 * `find.byKey(Key key)`
 * `find.byType(Type type)`
 * `find.byElementType(Type type)`
 * `find.byConfig(Widget config)`
 * `find.byWidgetPredicate(WidgetPredicate predicate)`
 * `find.byElementPredicate(ElementPredicate predicate)`

The matchers (for `expect`) are:

 * `findsNothing`
 * `findsWidgets`
 * `findsOneWidget`
 * `findsNWidgets(n)`
 * `isOnStage`
 * `isOffStage`
 * `isInCard`
 * `isNotInCard`

Benchmarks now use benchmarkWidgets instead of testWidgets.

Also, for those of you using mockers, `serviceMocker` now automatically
handles the binding initialization.

This patch also:

* changes how tests are run so that we can more easily swap the logic
  out for a "real" mode instead of FakeAsync.

* introduces CachingIterable.

* changes how flutter_driver interacts with the widget tree to use the
  aforementioned new API rather than ElementTreeTester, which is gone.

* removes ElementTreeTester.

* changes the semantics of a test for scrollables because we couldn't
  convince ourselves that the old semantics made sense; it only worked
  before because flushing the microtasks after every event was broken.

* fixes the flushing of microtasks after every event.

* Reindent the tests

* Fix review comments
2016-04-29 13:23:27 -07:00
Yegor
e60a624a4a fix first frame reporting logic (#3640) 2016-04-29 13:21:59 -07:00
Adam Barth
870c361915 Add ergonomic wrappers for Flutter platform services (#3636)
These wrappers also give us a chance to document what these services do.

Fixes #3164
2016-04-29 12:15:04 -07:00
Adam Barth
5497ba182f Update engine (#3637)
Turns out there were more clients of the old paragraph API than I expected.
This patch migrates them to the new API.
2016-04-29 11:19:35 -07:00
Matt Perry
f93ea0ead1 Clear the composing range when selecting text. (#3635)
This fixes a bug where editing the selected text on Android would delete
the wrong block of text.

BUG=https://github.com/flutter/flutter/issues/3567
2016-04-29 14:02:56 -04:00
Devon Carew
60755f6d9c fix an issue parsing adb output (#3629) 2016-04-29 09:52:44 -07:00
Devon Carew
99114cd414 show more errors on missing jarsigner (#3626) 2016-04-28 22:48:01 -07:00
Ian Hickson
055c919fda Allow children to overflow above a Baseline widget (#3573)
Turns out a common use for Baseline is making sure that the child's
baseline is higher than it otherwise would be, e.g. with the Material
font or other symbols.
2016-04-28 21:35:49 -07:00
Ian Hickson
770e17cf9f Fix truncated dartdoc. (#3619)
Note that the /// part of the doc was published, only the // line was
omitted. This means that we can safely put // comments between /// docs
and the member they are documenting.
2016-04-28 21:35:39 -07:00
Adam Barth
e41120bc68 Improve the TextPainter API (#3621)
Instead of using properties, TextPainter now receives min and max width as
parameters to layout. Also, this patch integrates the intrinsic sizing logic
into the main layout function, which satisfies all the existing uses cases.
2016-04-28 20:44:52 -07:00
Adam Barth
53db3949e1 Update engine.version (#3623) 2016-04-28 18:52:49 -07:00
Ian Hickson
dae5e54550 Support first frame notification in trivial apps (#3618)
Apps that didn't use [WidgetsApp] were not sending the `'Widgets
completed first useful frame'` notification. This fixes that by making
the code cleaner.
2016-04-28 15:20:26 -07:00
Adam Barth
f6fef1c605 Update engine.version (#3616) 2016-04-28 15:00:43 -07:00
Yegor
81af593745 [tools] download traces only from non-resident runs (#3615) 2016-04-28 13:35:32 -07:00
Devon Carew
50b1b16db6 rev test to 0.12.13+1 to support 1.17.0-dev dart sdks (#3613) 2016-04-28 12:56:55 -07:00
Adam Barth
2c70b3e4dd Update engine.version (#3614) 2016-04-28 12:20:31 -07:00
Adam Barth
b7fd5426b5 Enable avoid_as lint (#3612)
Related to #3608
2016-04-28 11:07:39 -07:00
Devon Carew
26ed1e71f9 simplify the analysis benchmarking code (#3588)
* simplify the analysis benchmarking code

* review comments
2016-04-28 10:25:26 -07:00
Adam Barth
201ad82d5d Update engine (#3607) 2016-04-28 10:24:50 -07:00
Adam Barth
3afe17e951 Update Dart SDK to 1.16.0 (#3606)
Fixes #3605
2016-04-28 10:15:20 -07:00
Adam Barth
5eb4443343 Address review comments from previous patches (#3600)
This patch addresses late-breaking comments on previous patches.
2016-04-28 09:32:19 -07:00
Yegor
c2cccc7b3b [tools] teach flutter run to get startup trace info (#3589) 2016-04-27 17:58:20 -07:00
Adam Barth
bb238eba88 Fix typo in LazyBlock (#3594)
We were returning instead of breaking out of the loop when we hit the last
widget.

Fixes #3593
2016-04-27 17:46:44 -07:00
Hans Muller
620fb87567 Enable lining up the last tool bar action trailing list item elements (#3597) 2016-04-27 17:34:59 -07:00
Adam Barth
4aa3756835 Move cassowary into package:flutter (#3591)
Cassowary doesn't have any additional dependencies and this simplifies things.

Fixes #2442
2016-04-27 17:32:06 -07:00
Adam Barth
d8f2d018ad Expose dispatchDependencyChanged in InheritedWidget (#3580)
Some inherited widgets want to call this function direction, for example to
notify children when a mutable model object changes. Exposing this function to
subclasses of InheritedWidget is clear then forcing them to compute
updateShouldNotify for mutable model objects.
2016-04-27 15:51:20 -07:00
Devon Carew
b0dca79671 Flutter run (#3553)
* rework flutter run

* fix npe with --debug-port

* connect to obs and exit when that conneciton closes

* update todos
2016-04-27 14:43:42 -07:00
Adam Barth
cbe650a7e6 Move newton into package:flutter (#3585)
Rather that importing `package:newton/newton.dart` you can
`import package:flutter/physics.dart`.

Fixes #2441
2016-04-27 13:09:54 -07:00
Adam Barth
7ef1df4d5b Remove fetch.dart (#3584)
These uses cases are now address by http.dart via http.readDataPipe.
2016-04-27 13:09:37 -07:00
Ian Hickson
256adfcd46 Fix leaking animation in floating action button. (#3575) 2016-04-27 12:30:48 -07:00
Hans Muller
0f1dbe09af Fixes TimePicker (#3583)
* Fixed TimePicker crash and added tests

* Fixed TimePicker crash and added tests

* fixed a Lint-O
2016-04-27 12:26:18 -07:00
Devon Carew
1bf6841f56 move the material_gallery/demos.dart script (#3582)
* move the material_gallery/demos.dart script

* rename all_demos.dart to all.dart
2016-04-27 12:23:02 -07:00
Seth Ladd
f373617a76 add import guidance to library-level docs (#3530)
* add import guidance to library-level docs

* add import docs to other packages

* fix review comment

* clarify which libraries aren't meant to be directly imported
2016-04-27 11:33:00 -07:00
Devon Carew
b0ebc71695 clean up git commits (#3578) 2016-04-27 10:47:52 -07:00
Adam Barth
67bf268de1 Add dartdoc to typography.dart (#3576) 2016-04-27 09:15:23 -07:00