5457 Commits

Author SHA1 Message Date
Collin Jackson
80ef81422d Support for putting assets in android/assets folder (like ios/Resources) 2016-05-03 13:32:35 -07:00
Devon Carew
00062761be filter an assertiond log message from ios (#3692) 2016-05-03 12:46:46 -07:00
Adam Barth
93926d2220 More dartdoc for material.dart (#3690)
Also, move the default theme transition duration into theme.dart.
2016-05-03 12:25:51 -07:00
Hans Muller
1a2f19b7fa Add a non-null builder assert to Builders, renamed IndexedBuilder (#3694) 2016-05-03 11:22:26 -07:00
Hans Muller
b38927e70e LayoutBuilder widget (#3670)
* LayoutBuilder Widget
2016-05-03 10:35:24 -07:00
Devon Carew
c9010c91f6 fix analysis errors (#3677)
* fix analysis errors

* review comments; fix test

* re-add an export for debugPrint
2016-05-03 09:09:00 -07:00
Eric Seidel
76724e857f Merge pull request #3679 from eseidelGoogle/aot_error
Add note about explicit `pub get` needed.
2016-05-03 08:30:55 -07:00
Ian Hickson
7020e6cb93 Fix Inherited bugs (#3657)
Fixes https://github.com/flutter/flutter/issues/3493

 - rebuild stateless widgets that have dependencies when their ancestors change but they don't

Fixes https://github.com/flutter/flutter/issues/3120

 - rebuild widgets that tried to inherit from a widget that didn't exist, when the widget is added

This adds a pointer and a bool to Element, which isn't great. It also adds a more or less complete tree walk when you add a new Inherited widget at the top of your tree, which isn't cheap.
2016-05-03 00:06:29 -07:00
Eric Seidel
f58fa766c3 Add note about explicit pub get needed.
@devoncarew @jason-simmons
2016-05-02 16:14:35 -07:00
Adam Barth
6072552868 AspectRatio has incorrect intrinsic sizing (#3666)
If there's a max height or width, we should factor that into the intrinsic
sizing for the other dimension.
2016-05-02 15:51:45 -07:00
Adam Barth
0910a78fd6 Improve dartdoc for SystemChrome and SystemSound (#3669)
We need to import these enums in order for the dartdoc to linkify correctly.

Fixes #3668
2016-05-02 15:51:35 -07:00
Devon Carew
cd8f65dfb3 add an infra/docs.sh script (#3674) 2016-05-02 14:33:39 -07:00
Jason Simmons
30d8dc1399 Check the adb install output for errors and stop "flutter run" if package installation fails (#3672) 2016-05-02 14:11:40 -07:00
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