Commit Graph

1556 Commits

Author SHA1 Message Date
Hans Muller
0b7e975e2c Updated fitness and weather manual tests, new asset locations (#4351) 2016-06-03 10:38:03 -07:00
Hans Muller
1d516f0e94 Update gallery demo list (again) (#4339) 2016-06-03 08:37:16 -07:00
Hans Muller
dd27a489fa Update gallery demo list (#4335) 2016-06-02 16:12:54 -07:00
Hans Muller
309b9f8010 Version 0.0 of a gallery demo of the Material Design "Shrine" app (#4327) 2016-06-02 14:23:20 -07:00
Adam Barth
88d47d5705 Remove animation from Gallery header (#4322)
Although beautiful, having a continuous animation on the front page of the
gallery gives the impression that Flutter burns battery and makes phones hot.
This patch replaces the animation with solid purple. However, we might
eventually want to use a static image.
2016-06-02 09:57:47 -07:00
Adam Barth
0679da0a23 Remove fancy lines demo from Gallery (#4323)
This demo burns battery continuously even when there's no change to the visual
appearance. This patch removes this demo to avoid giving the impression that
Flutter burns battery.

Related to #4120
2016-06-02 09:54:03 -07:00
Ian Hickson
0618da7ca2 PaginatedDataTable (part 1) (#4306)
This introduces the key parts of a paginated data table, not including
the built-in pagination features.

* Provide more data for the data table demo, so there's data to page.

* Introduce a ChangeNotifier class which abstracts out
  addListener/removeListener/notifyListeners. We might be able to use
  this to simplify existing classes as well, though this patch doesn't
  do that.

* Introduce DataTableSource, a delegate for getting data for data
  tables. This will also be used by ScrollingDataTable in due course.

* Introduce PaginatedDataTable, a widget that wraps DataTable and only
  shows N rows at a time, fed by a DataTableSource.
2016-06-01 16:13:40 -07:00
Ian Hickson
bf6ae3ee76 Reenable the gallery smoke test (#4303)
...and fix some grid and table intrinsic issues it uncovered.
2016-06-01 15:34:48 -07:00
Ian Hickson
787fb3be7d Simplify intrinsic dimension APIs (#4283) 2016-05-31 14:59:48 -07:00
Adam Barth
52cf289101 Switch to using real location data (#4282) 2016-05-31 14:12:07 -07:00
Adam Barth
8c805e234d Teach hello_services to provide a platform service (#4277)
Currently this service just returns mock data, but it exercises the plumbing.
2016-05-31 13:18:53 -07:00
Adam Barth
7de84709cf Address review comments on prior patch (#4270)
I pulled the trigger to land the previous patch too quickly and missed a
number of comments.
2016-05-30 14:47:49 -07:00
Adam Barth
26a4d7bbad Add an example of an extensible iOS app (#4252)
This example shows how to build a basic app using a custom Xcode project.
Future patches will bring the functionality up to par with hello_android.
2016-05-29 14:08:35 -07:00
Adam Barth
d1cb026a65 Update engine and Mojo usage (#4258)
The new mojom.dart code makes mocking services a bit tricky. I've filed
https://github.com/domokit/mojo/issues/786 about improving that.
2016-05-28 18:28:21 -07:00
Jason Simmons
d6147fd7fa Update the Gradle plugin to use --local-engine instead of the deprecated --engine-src-path (#4255) 2016-05-27 17:12:52 -07:00
Adam Barth
36d01c3541 "Swipe items to dismiss" demo needs full-bleed dividers (#4231)
Remove spurious padding.

Fixes #3980
Fixes #3560
2016-05-26 17:06:10 -07:00
Adam Barth
474ff67556 Polish sliders (#4176)
Address feedback from material design team.

Fixes #4144
Fixes #4145
Fixes #4146
2016-05-24 17:53:23 -07:00
Hans Muller
bacd3d2cb0 Revised Drawer Header (#4160) 2016-05-24 12:31:42 -07:00
Hans Muller
487234db02 TabPageSelector demo: use chevron icons instead of arrows (#4153) 2016-05-24 09:57:33 -07:00
Hans Muller
cf83a81329 Correct layout (#4115) 2016-05-23 14:24:10 -07:00
Devon Carew
65bed96103 move the calculator files around (#4112) 2016-05-23 12:55:09 -07:00
Hans Muller
41d1a9f1da Skip gallery smoke test (#4108) 2016-05-23 12:04:33 -07:00
Ian Hickson
d0bac85da4 Move the new calculator demo into the gallery. (#4092) 2016-05-21 10:56:02 -07:00
Hans Muller
5b8677d15d Allow tab bars in flexible app bars (#4086) 2016-05-20 18:07:15 -07:00
Hans Muller
1f06dc44cd ScrollConfiguration (#4026) 2016-05-20 16:59:09 -07:00
Ian Hickson
06d80f22f0 Identify the widgets you tap on in live tests (#4079) 2016-05-20 14:21:38 -07:00
Mitch Rudominer
719add8171 New Material Design calculator example. (#3999)
* New Material Design calculator example. (Attempt 2 after git fetch upstream).

* Responded to code review.

* Second round of code review.
2016-05-20 10:27:03 -07:00
Hans Muller
b4ecaaa9f6 Enable the gallery smoke test (#4060) 2016-05-19 17:12:35 -07:00
Adam Barth
8283d05eb5 Tabs and scrolling has odd card text (#4019)
Looks like our intent here was to show the tab label rather than
"Instance of '_Page'".

Also, fix an issue where the scrollableKey wasn't being forwarded to the
actual scrollable.

Fixes #3090
2016-05-19 14:13:43 -07:00
Matt Perry
0628c64b79 Use KeyboardType.phone for the Gallery app's text demo. (#3983)
BUG=https://github.com/flutter/flutter/issues/3970
2016-05-17 15:36:59 -04:00
Hans Muller
bec3fdefd1 Add a Scrollable builder, refactor ScrollableList, et al (#3950)
* Add a Scrollable builder, refactor ScrollableList, et al

* Add space between the dialog demo buttons

* removed vestigial code
2016-05-16 17:32:01 -07:00
Ian Hickson
3252701753 Make it possible to run tests live on a device (#3936)
This makes it possible to substitute 'flutter run' for 'flutter test'
and actually watch a test run on a device.

For any test that depends on flutter_test:

1. Remove any import of 'package:test/test.dart'.

2. Replace `testWidgets('...', (WidgetTester tester) {`
      with `testWidgets('...', (WidgetTester tester) async {`

3. Add an "await" in front of calls to any of the following:
    * tap()
    * tapAt()
    * fling()
    * flingFrom()
    * scroll()
    * scrollAt()
    * pump()
    * pumpWidget()

4. Replace any calls to `tester.flushMicrotasks()` with calls to
   `await tester.idle()`.

There's a guarding API that you can use, if you have particularly
complicated tests, to get better error messages. Search for
TestAsyncUtils.
2016-05-16 12:53:13 -07:00
Ian Hickson
c5ff156f24 Revert "Rename DefaultTextStyle constructor to explicit (#3920)" (#3930)
This reverts commit 55f9145ef4.

Turns out that this commit breaks apps that use the material library,
because of the _errorTextStyle DefaultTextStyle which has inherit:true.
Just setting it to false doesn't work, unfortunately, because then you
hit some sort of issue with merging that text style with others that
have inherit:true.
2016-05-16 11:08:07 -07:00
Adam Barth
55f9145ef4 Rename DefaultTextStyle constructor to explicit (#3920)
To make it clear that this constructor requires an explicit style. Also
throw a descriptive error recommending the inherit constructor for
styles with the inherit bit set.

Fixes #3842
2016-05-16 10:35:35 -07:00
pq
a9d5a7b30c Added space to ignore. 2016-05-13 15:35:27 -07:00
pq
4dd548578f Re-enable one_member_abstracts lint (#3608). 2016-05-13 14:28:21 -07:00
Devon Carew
2f642ce908 updates from the flutter gallery rename (#3898)
* updates from the flutter gallery rename

* rename ids to io.flutter.gallery
2016-05-13 12:46:50 -07:00
Hans Muller
ac4ad3bc98 Flexible space bar demo needs to occupy more vertical space, etc (#3890) 2016-05-12 16:45:45 -07:00
Eric Seidel
1a1b89e5b3 Fix Flutter Gallery to use title case
@HansMuller
2016-05-12 12:51:10 -07:00
Phil Quitslund
616d9e2ea8 Merge pull request #3880 from pq/void_setters
Turn on `avoid_return_types_on_setters` and cleanup annotated setters.
2016-05-12 12:28:15 -07:00
Hans Muller
5bacc9f8e8 GridTileBar uses ellipsis, etc (#3881) 2016-05-12 12:27:49 -07:00
pq
e54196d7fc Turn on avoid_return_types_on_setters and cleanup annotated setters.
It's safe to remove the unneeded `void`s from setters since the blocking issues in the
`always_declare_return_types` lint have been fixed (https://github.com/dart-lang/linter/).  We can also safely flip the bit on  `avoid_return_types_on_setters`.
2016-05-12 11:45:30 -07:00
Hans Muller
2e8315e8f5 Generate a Gallery demo transition-durations performance histogram (#3859) 2016-05-11 14:52:34 -07:00
Todd Volkert
810b3e32a6 Fix regexp that strips invalid characters from the project identifier
Fixes #3835
2016-05-10 13:24:20 -07:00
Todd Volkert
baa25c83fb Fix broken identifier in the hello world example 2016-05-10 13:15:14 -07:00
Jim Beveridge
321b338adb Upgrade gradle files for Android Studio 2.1
Fixes #3833
2016-05-10 11:11:31 -07:00
Hans Muller
770f8f1d0c rename TracingCategory to TimelineStream (#3822) 2016-05-09 17:00:49 -07:00
Hans Muller
475d5a457d remove spurious copy of the material_gallery directory (#3806) 2016-05-09 12:18:32 -07:00
Hans Muller
74c3e74fba Call it Flutter Gallery (#3801) 2016-05-09 11:00:54 -07:00
Jason Simmons
09dde8718b Change the Android activity launch mode to singleTop (#3792) 2016-05-09 09:31:34 -07:00
Adam Barth
ee903af03f Move TextAlign out of TextStyle (#3789)
TextAlign applies to a whole paragraph instead of applying to an individual
text span. This patch moves the property out of TextStyle and into a separate
property on Text and RichText.
2016-05-06 17:33:27 -07:00
Viktor Lidholt
153e1bb918 Fixes to particle system API (#3762) 2016-05-05 17:31:16 -07:00
krisgiesing
01978d98a8 Move global analysis options file to the repo root (#3750)
* Move global analysis options file to the repo root

Also restore the analysis options file for stocks example, since
the global options trigger warnings on generated intl files.

* Remove obsolete analysis options file for Material Gallery example
2016-05-05 16:30:38 -07:00
Phil Quitslund
32bbbc6458 Merge pull request #3738 from pq/annotate_literals_3
Last literals get their types.
2016-05-04 13:59:09 -07:00
Adam Barth
8da98105b4 Skip the gallery smoke test (#3736)
This test hangs occationally on the bots and the bots aren't smart enough to
recover, which means the whole project gets blocked.

Filed #3735 about the hang.
2016-05-04 13:42:29 -07:00
pq
98ef58396a Last literals get their types.
Last fixes to get the repo running clean checking for annotations on list and map literals.
2016-05-04 13:37:23 -07:00
Adam Barth
a5eb4c04c7 Remove ModalPosition (#3734)
Clients of getPosition should just use a one-child custom layout delegate
instead.

Fixes #2484
2016-05-04 12:40:50 -07:00
krisgiesing
07b5f83e55 Add analysis options near the root of the repository (#3700)
This aligns the analysis options used by 'flutter analyze' with the
options used by Atom.
2016-05-04 10:15:15 -07:00
Hans Muller
a9b965cb9b Gallery demo start-time performance test (#3655)
*  Gallery demo start-time performance test
2016-05-03 17:37:10 -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
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
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
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
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
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
Ian Hickson
e968d91ca4 Rename binding abstract classes (#3482)
The old names were getting silly and started stepping on valuable namespace.

The new names are consistent and clear.
2016-04-21 17:18:46 -07:00
Viktor Lidholt
b314a7d9fa Adds NineSliceSprite and optimizes gallery front page (#3485)
* Adds NineSliceSprite and optimizes gallery front page
2016-04-21 17:16:16 -07:00
Ian Hickson
c167efca17 Minor widget_tester refactoring and docs (#3472)
This reorders some classes so that this file makes more sense, and adds
a bunch of docs. It also makes the following changes:

* Move allElements from Instrumentation to TestWidgets. (Instrumentation
  is going away.)

* Remove findElements.

* Rename byElement to byElementPredicate

* Rename byPredicate to byWidgetPredicate

* Implement _WidgetPredicateFinder so that byWidgetPredicate has good
  messages

* Fix one use of byElementPredicate to use byWidgetPredicate.
2016-04-21 16:35:46 -07:00
Ian Hickson
0e11b0e6e3 Make the widgets binding reusable. (#3479)
Previously the widgets layer only provided a concrete binding, which
makes it awkward to extend it compared to other bindings. This moves
widgets to the same style as the other layers.

In a subsequent patch I'll use this to make the tests layer saner.
2016-04-21 16:06:51 -07:00
Ian Hickson
20eefbf576 Remove stray print from material gallery. (#3463)
Makes the tests noisy.
2016-04-21 14:57:37 -07:00
Adam Barth
248960a734 Add a route table to Material Gallery (#3457)
Use the route table to generate the list of screens to test in the smoke test.
2016-04-21 10:24:22 -07:00
Hans Muller
986b017445 Gallery Smoke Test (#3446)
* Gallery Smoke Test
2016-04-21 08:54:43 -07:00
Viktor Lidholt
9aeeb15849 Minor fixes to code parser test in gallery (#3439) 2016-04-20 12:45:54 -07:00
Adam Barth
140bf64a9d Update examples readme (#3434)
Previously this readme had some broken links.

Fixes #3428
2016-04-20 10:58:06 -07:00
Hans Muller
25164e1089 Make IconButton gesture targets as big as possible (#3423)
* Make IconButtons as big as possible
2016-04-20 10:00:14 -07:00
Ian Hickson
1b9476c4d9 Hide routes from the API when they're not needed. (#3431)
The 'routes' table is a point of confusion with new developers. By
providing a 'home' argument that sets the '/' route, we can delay the
point at which we teach developers about 'routes' until the point where
they want to have a second route.
2016-04-20 09:33:28 -07:00
Viktor Lidholt
f7360126b8 Gallery code snippets now analyzed (#3391)
* Gallery code snippets now analyzed
2016-04-20 09:29:01 -07:00
Hans Muller
c7e2e8ae81 Remove Scaffold scrollableKey use in gallery demos (#3406)
* Remove Scaffold scrollable_key demo usage
2016-04-19 16:31:11 -07:00
Hans Muller
a2ce9483c1 Replace Block with ScrollableList in Cards demo (#3380) 2016-04-19 09:45:53 -07:00
Devon Carew
4678c12098 find all repo packages (#3368)
* find all repo packages

* .dartignore
2016-04-15 20:25:57 -07:00
Hans Muller
c4ae13ed22 Refresh indicator (#3354) 2016-04-15 18:39:18 -07:00
Yegor
9ce995f65e [driver] refactor API to finder objects (#3365) 2016-04-15 16:57:35 -07:00
Ian Hickson
a91bc0ba9c Material Data Tables (#3337)
+ Add new demo to gallery to show data tables. (This currently doesn't
use a Card; I'll create a Card version in a subsequent patch.)

+ Fix checkbox alignment. It now centers in its box regardless.

+ Add Colors.black54.

+ Some minor fixes to dartdocs.

+ DataTable, DataColumn, DataRow, DataCell

+ RowInkWell

+ Augment dartdocs of materia/debug.dart.

+ DropDownButtonHideUnderline to hide the underline in a drop-down when
  used in a DataTable.

+ Add new capabilities to InkResponse to support RowInkWell.

+ Augment dartdocs of materia/material.dart.

+ Add an assert to catch nested Blocks.

+ Fix a crash in RenderBox when you remove an object and an ancestor
  used its baseline. (https://github.com/flutter/flutter/issues/2874)

+ Fix (and redocument) RenderBaseline/Baseline.

+ Add flex support to IntrinsicColumnWidth.

+ Document more stuff on the RenderTable side.

+ Fix a bug with parentData handling on RenderTable children.

+ Completely rewrite the column width computations. The old logic made
  no sense at all.

+ Add dartdocs to widgets/debug.dart.

+ Add a toString for TableRow.
2016-04-15 16:51:03 -07:00
krisgiesing
27715e1d41 Add an example demonstrating use of isolates (#3347) 2016-04-15 16:31:23 -07:00
Hans Muller
f7cf0d97ca Fix the progress indicator demo (#3367) 2016-04-15 16:21:38 -07:00
Eric Seidel
347831bf7f Merge pull request #3358 from eseidelGoogle/perf_overlay_gallery
Add a Performance Overlay toggle to the Gallery app
2016-04-15 13:25:08 -07:00
Eric Seidel
a2b704b82c Merge pull request #3313 from eseidelGoogle/gallery_drive_perf
Add a basic scrolling test for the Gallery home page.
2016-04-14 09:05:02 -07:00
Yegor
f3a4f722c4 [flutter_test] new WidgetTester API based on finder objects (#3288) 2016-04-13 23:40:15 -07:00
Viktor Lidholt
ec85af59b4 Improvements to the Grid list demo (#3315)
* Improvements to the Grid list demo

* More nits and fixes to grid demo in gallery
2016-04-13 15:25:27 -07:00
Eric Seidel
7ee0ee7291 Per review comments 2016-04-13 14:46:42 -07:00
Eric Seidel
237f1ac263 Add a basic scrolling test for the Gallery home page.
Current numbers from my Nexus 5:
  "average_frame_build_time_millis": 22.6854,
  "missed_frame_build_budget_count": 15,
  "frame_count": 15

Filed https://github.com/flutter/flutter/issues/3296

@yjbanov @hansmuller @vlidholt
2016-04-13 14:21:51 -07:00
Ian Hickson
7861d02943 Fix dependency skew. (#3306)
...by adding tests to our examples that don't import flutter_test, which
pins the relevant dependencies.

Also, provide more information when complaining about leaked transient
callbacks in tests.

Also, make tests display full information when they have an exception,
by bypassing the throttling we have for Android logging in tests.

Also, make the word wrapping not wrap stack traces if they happen to
be included in exception output.

Also, fix a leaked transient callback in the checkbox code.
2016-04-13 13:53:39 -07:00
Eric Seidel
7ecc698c9c wip 2016-04-12 16:08:29 -07:00
Ian Hickson
ecf1cce82c Provide details when reporting invalid constraints (#3281)
This also shrinks the width of the error messages a bit because now that
we use 'package:' URLs the stacks are a bit narrower.
2016-04-12 15:42:00 -07:00
Jason Simmons
3525aa1b0a Use the flutter.jar in the artifact cache by default (#3278)
See https://github.com/flutter/flutter/issues/3233
2016-04-12 14:26:22 -07:00
Adam Barth
ec4a6a96f2 Add more dartdocs to material.dart (#3279) 2016-04-12 14:18:58 -07:00
Adam Barth
69f994446b Add more dartdoc to material.dart (#3261)
Now past halfway though material.dart by files.
2016-04-12 12:41:59 -07:00
Viktor Lidholt
2f60932df9 Adds nice photos and hero animations to the Grid gallery demo (#3258) 2016-04-12 12:12:00 -07:00
Hans Muller
ba5a04e85a ClampOverscrolls Inherited Widget (#3267)
* ClampOverscrolls Inherited Widget
2016-04-12 10:12:44 -07:00
Ian Hickson
47f5c6f2e0 Add even more careful checks around BoxConstraints (#3243)
I ran into a case where I was setting minHeight=∞ and then calling
layout() with that constraint, which is all kinds of bad. To try to
catch this earlier, this patch now provides a way to catch constraints
that are requiring infinite values.

We don't _always_ check this because there are valid uses for
BoxConstraints.biggest, e.g. as an additionalConstraint.
2016-04-11 11:10:11 -07:00
Viktor Lidholt
83ef964ac6 Updates selection controls gallery demo (#3225) 2016-04-08 14:33:34 -07:00
Hans Muller
34f23cc456 Added OverscrollIndicator, removed OverscrollIndicatorPainter (#3220)
* Added OverscrollIndicator, removed OverscrollIndicatorPainter
2016-04-08 14:21:00 -07:00
Viktor Lidholt
9b5361acab Moves and renames gallery demos (#3217) 2016-04-08 11:08:21 -07:00
Adam Barth
1251f01ec7 Convert some Columns into Blocks (#3210)
These columns were secretly re-creating Block in a more complex way. Now we
just use Block directly.
2016-04-08 10:42:48 -07:00
Adam Barth
e456d86327 Update engine (#3214)
Also, update hello_android to use the new Java class names.
2016-04-08 10:25:41 -07:00
Viktor Lidholt
f8c1d619a6 Fixes spelling in gallery button demo (#3209) 2016-04-08 10:24:09 -07:00
Hans Muller
6335872802 Added Scrollbar, removed ScrollbarPainter (#3203)
* Added Scrollbar, removed ScrollbarPainter

* removed a dead import

* updated per review feedback

* Only call dispatch if the widgets State is still mounted
2016-04-07 16:59:51 -07:00
Jason Simmons
4bcef2a340 Some documentation for running "flutter refresh" in the Gradle sample (#3201) 2016-04-07 16:16:22 -07:00
Viktor Lidholt
b9e121a5fa New version of Button demo (#3174) 2016-04-07 13:08:14 -07:00
Adam Barth
907215df27 Add more dartdoc to material.dart (#3167)
Also, clean up a few interfaces that looked awkward when writing docs.
2016-04-07 10:03:59 -07:00
Hans Muller
c058cf2e81 Overscroll indicator for MaterialList
Overscroll indicator for MaterialList
2016-04-06 16:46:37 -07:00
Ian Hickson
41338c354c Use Material design rules for capitalisation
See https://www.google.com/design/spec/style/writing.html#
2016-04-06 15:59:30 -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
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
d748186c51 Use callbacks for sending messages up the app
Using .of() to call mutating setters is not great practice since it ties

parts of the app together in ways that prevent reuse and composition.



Since people are now using the gallery app to copy from, let's use the

better practice of using callbacks.
2016-04-04 15:25:06 -07:00
Hans Muller
08bb332cbb Merge pull request #3081 from HansMuller/gallery_tweaks
Gallery Tweaks
2016-04-04 14:26:23 -07:00
Adam Barth
767ce82646 Add support for discrete material sliders
Fixes #1541
2016-04-04 11:14:12 -07:00
Ian Hickson
79cfe1e092 Make a variety of private State members actually private. 2016-04-03 13:08:00 -07:00
Ian Hickson
285c696f14 Column->Block, uppercase BUTTON captions 2016-04-01 21:22:55 -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
a05909e3a7 Merge pull request #3049 from Hixie/gallery
Tweak the typography demo to match the spec more
2016-04-01 14:36:01 -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
Devon Carew
f7e6100b08 sort imports
* sort imports
2016-04-01 11:32:02 -07:00
Kris Giesing
ed03e96b68 Fix spinning_mixed widget example, plus minor style fix 2016-03-31 12:56:14 -07:00
Viktor Lidholt
4df24abb33 Merge pull request #3016 from vlidholt/linedrawing
Initial version of Fancy line drawer demo
2016-03-31 12:05:58 -07:00
krisgiesing
243960d741 Merge pull request #3010 from krisgiesing/offscreen_layout
Part 2 of independent layout pipelines
2016-03-31 11:11:22 -07:00
Kris Giesing
9dfd5d4021 Part 2 of independent layout pipelines
Adds BuildOwner to manage the dirty list and build processing for
widgets/elements, and adds a widget unit test to make sure separation
is enforced.

Fixes #2723
2016-03-31 11:02:00 -07:00
Adam Barth
42d87c4191 Rename ToggleControlsDemo to SelectionControlsDemo
These are called selection controls in the spec and in the gallery UI.
2016-03-30 23:31:02 -07:00
Viktor Lidholt
a1212dbc54 Initial version of Fancy line drawer demo 2016-03-30 16:56:46 -07:00
Viktor Lidholt
56ccad99a5 Fixes the broken Weather demo 2016-03-30 11:22:43 -07:00
Hans Muller
04e020590d Use _ScaffoldLayout to position scrollable appbars 2016-03-29 13:27:37 -07:00
Hans Muller
5a49c68893 author again 2016-03-29 08:49:49 -07:00
Adam Barth
1ba539a661 Add constants for FractionalOffsets
Adds some names for common FractionalOffset values.
2016-03-28 22:51:06 -07:00
Matt Perry
641604ad94 Merge pull request #2850 from mpcomplete/form
Added a Form widget to manage multiple Input widgets.
2016-03-28 13:55:08 -04:00
Devon Carew
7b694ddd42 upgrade to test 0.12.13 2016-03-27 13:36:01 -07:00
Adam Barth
7988099162 Fix Travis
The collections package changed to add some stricter type annotations.
We now pass those type annoations. I also sent
https://github.com/dart-lang/collection/pull/26 to make the type
annotations match what they were previously.
2016-03-26 00:27:03 -07:00
Matt Perry
a7b28a3ede Added a Form widget to manage multiple Input widgets. 2016-03-25 17:55:38 -04:00
Viktor Lidholt
d563f50822 First pass at new Flutter gallery front page 2016-03-25 14:11:01 -07:00
Adam Barth
3c6d4f660e Add a default MediaQuery value
Now MediaQuery.of always returns a non-null value. By default, you get the
values associated with the current ui.Window.

Fixes #2894
2016-03-25 13:07:42 -07:00
Jason Simmons
03830d5676 Merge pull request #2896 from jason-simmons/yaml_schema
Validate flutter.yaml against a JSON schema
2016-03-25 10:14:58 -07:00
Ian Hickson
47e882a5a2 Merge pull request #2878 from Hixie/border-style-none
Support hairline borders
2016-03-25 09:29:57 -07:00
Jason Simmons
c2b4ac9c3c Validate flutter.yaml against a JSON schema 2016-03-24 17:49:23 -07:00
Adam Barth
1e25792590 Merge pull request #2881 from abarth/from_ltrb
Replace EdgeInsets.TRBL with EdgeInsets.fromLTRB
2016-03-24 15:56:44 -07:00
Hans Muller
d89ccc4aad Scrollbar thumb color, etc 2016-03-24 15:36:17 -07:00
Adam Barth
c8c325d095 Replace EdgeInsets.TRBL with EdgeInsets.fromLTRB
This matches the pattern from Rect. I've left EdgeInsets.TRBL marked as
deprecated to give clients a chance to update.

Fixes #2860
2016-03-24 15:19:40 -07:00
Hixie
9fc29dbbb8 Support hairline borders
Previously, border with '0' was ambiguous. Sometimes we treated it as
hairline borders, sometimes as "don't show the border", though even in
the latter case we did some graphics work sometimes. Now we have an
explicit BorderStyle.none flag to not draw the border efficiently.
2016-03-24 14:05:38 -07:00
Jason Simmons
af008749a9 An example showing how to send messages between the host app and Flutter 2016-03-24 10:00:14 -07:00
Jason Simmons
d5b30f68ce Expose the engine-src-path flag in the Gradle plugin 2016-03-23 13:33:51 -07:00
Jason Simmons
502fbeec0a Update SkyApplication to SkyMain in the hello_android example 2016-03-23 13:07:51 -07:00
Hans Muller
70550a7a9a Fix _LazyWidgetProvider indexing, move Ali Connors 2016-03-21 12:20:09 -07:00
Hans Muller
070fdf7754 Flexible AppBar with a TabBar 2016-03-21 10:42:52 -07:00
Devon Carew
54d933959e Merge pull request #2797 from flutter/devoncarew-patch-1
Update FlutterPlugin.groovy
2016-03-21 09:28:14 -07:00
Ian Hickson
552896afb7 Refactor cassowary so it uses imports rather than parts.
Also misc cleanup:
 - reorder members to be more consistent and fit the style guide
 - remove use of _Pair
 - made Variable.applyUpdate and Variable.owner public
 - added docs to Priority, tweaked the code a bit
 - added some docs to Result
 - removed the internal-error Result (replaced with asserts)
 - removed unused Results
 - made Result const
 - merged some files together since they had used privates a lot

I'm sorry this is completely unreviewable. I did the move from `lib/*`
to `lib/src/*` first, then did the `part`-to-`import` change, and then
found out how many of the files involved privates, which I wasn't
expecting. I can redo this as multiple commits if that would make it
easier to review.
2016-03-20 18:10:37 -07:00
Devon Carew
8f80050fc3 Update FlutterPlugin.groovy
Update the groovy build example.
2016-03-18 21:44:48 -07:00
Adam Barth
c9d3217c3b Use Canvas#drawParagraph
We'll eventually remove Paragraph#paint.

Fixes #2694
2016-03-17 13:45:35 -07:00
Adam Barth
502a4ae078 Use FractionalOffset for gradients
These were using Offsets, but they're really FractionalOffsets.

Fixes #2318
2016-03-15 19:30:41 -07:00
Yegor
445330129d Merge pull request #2689 from yjbanov/benchmark-harness
[driver] API for getting performance traces
2016-03-14 16:54:37 -07:00
yjbanov
26c4177360 [driver] API for getting performance traces 2016-03-14 16:15:18 -07:00
Jason Simmons
2fdcb59fec Merge pull request #2673 from jason-simmons/gradle_example
Example that builds a Flutter Android app using Gradle
2016-03-14 16:04:20 -07:00
Hixie
797e27edd3 Add @override annotations to flutter framework 2016-03-14 14:02:26 -07:00
Jason Simmons
d9f66d9e14 Example that builds a Flutter Android app using Gradle 2016-03-14 13:32:21 -07:00
Adam Barth
e2744e9a30 Stop using a prebuilt APK
Instead, require an AndroidManifest.xml and always build an APK.

Fixes #2517
2016-03-14 13:32:00 -07:00
Adam Barth
89987fc040 [rename fixit] TwoLevelSublist left->leading, center->title 2016-03-14 12:24:58 -07:00
Hans Muller
23d7a23e48 Added AppBarBehavior.under, etc 2016-03-14 10:56:59 -07:00
Adam Barth
d5b2e2a01c [rename fixit] Flex alignments
* justifyContent -> mainAxisAlignment
* alignItems -> crossAxisAlignment
* FlexJustifyContent -> MainAxisAlignment
* FlexAlignItems -> CrossAxisAlignment

Fixes #231
2016-03-12 18:33:47 -08:00
Adam Barth
5e1af2f37e [rename fixit] DismissDirection left -> endToStart, right -> startToEnd
Removes an LTR bias in DismissDirection.

Fixes #2562
2016-03-12 18:33:47 -08:00
Adam Barth
ede5dfce30 [rename fixit] ToolBar -> AppBar
* left -> leading (Removes an LTR bias)
* center -> title (Widget was actually centered)
* right -> actions (Removes an LTR bias, asymmetric with leading)

Fixes #2348
2016-03-12 18:33:47 -08:00
Adam Barth
e48c822ce3 [rename fixit] left -> leading, right -> trailing
The terms "left" and "right" have an LTR bias. Instead, we now use
"leading" and "trailing", for these list and grid decorations so that
we can later rearrange them to match the reading order.

Fixes #2540
Fixes #2548
2016-03-12 17:31:01 -08:00
Adam Barth
9b9ad3db17 [rename fixit] RouteBuilder -> BuildContext
Fixes #2353
2016-03-12 17:18:31 -08:00
Adam Barth
95fc5ae070 [rename fixit] *Component* -> *Widget*
This patch renames StatelessComponent to StatelessWidget and
StatefulComponent to StatefulWidget.

Fixes #2308
2016-03-12 12:34:05 -08:00
Adam Barth
726eff4953 [rename fixit] *OneChild* -> *SingleChild*
Fixes #1482
2016-03-12 12:33:39 -08:00
Adam Barth
e71bd77e4f [rename fixit] EdgeDims -> EdgeInsets
Fixes #1382
2016-03-12 12:33:38 -08:00
Adam Barth
7ba1960518 [rename fixit] ThemeData#text -> textTheme
Fixes #1278
2016-03-12 12:32:37 -08:00
Hixie
6795efacab Enable always_specify_types lint
And fix the zillion issues that uncovered.
2016-03-12 00:37:31 -08:00
Ian Hickson
43b0104114 Revert "Merge pull request #2639 from Hixie/always_specify_types"
This reverts commit f41b3411da, reversing
changes made to e33d8d9621.

This was a bad check-in due to my mangling uploading a new version of the branch from a different machine.

This reverts https://github.com/flutter/flutter/pull/2639 and will be replaced by https://github.com/flutter/flutter/pull/2640
2016-03-12 00:34:37 -08:00
Hixie
d162d98c79 Enable always_specify_types lint
And fix the zillion issues that uncovered.
2016-03-11 18:27:32 -08:00
Devon Carew
94157c91e9 regenerate the i18n files 2016-03-11 10:58:30 -08:00
Devon Carew
625b5b51c7 Merge pull request #2604 from devoncarew/less_i18n_analysis
exclude the i18n files from analysis
2016-03-11 09:11:56 -08:00
Adam Barth
0277b075e0 Provide the BuildContext to createRenderObject and updateRenderObject
We'll need this for RTL support because the RTL state will live in the widget
tree. Also, remove the `oldWidget` argument to updateRenderObject because there
aren't any clients for it.
2016-03-11 08:59:37 -08:00
Devon Carew
f9855ca72b exclude the i18n files from analysis 2016-03-10 21:42:46 -08:00
Ian Hickson
7cf2dbdf37 Fix crash when dumping the app if it uses RichText
Specifically:

* Handle null styles in TextSpan without crashing in toString().

* Handle null children in TextSpan child lists without crashing in
  toString().

* Handle entirely empty TextSpans in toString() explicitly.

* Assert that TextSpans don't contain nulls in various places. This is
  done more often than one might think necessary, because it turns out
  that TextSpan takes a (mutable) List for one of its arguments, so
  who knows what it will contain at any given time. By asserting all
  over the place, hopefully we'll catch it near the change if they do
  change it.

* Add a RichText example to Stocks to exercise RichText and TextSpans.

See also: https://github.com/flutter/flutter/issues/2514, https://github.com/flutter/flutter/issues/2519
2016-03-10 20:48:50 -08:00
Devon Carew
780e4e6212 move the analysis_options to a file 2016-03-10 13:47:20 -08:00
Matt Perry
0da63e4c2b Add a basic Text Fields demo to Material Gallery app.
BUG=https://github.com/flutter/flutter/issues/1547
2016-03-10 13:56:43 -05:00
Hans Muller
9536c418fc Scaffold saves and restores scrollable state, etc 2016-03-10 09:19:04 -08:00
Hixie
c7339de6bc Enable always_declare_return_types lint
And fix a zillion omissions this uncovered.
2016-03-09 17:57:39 -08:00
Adam Barth
0d7b0f9ec1 Test harness should check for running Timers and AnimationControllers
After running a widget test, we now clear out the widget tree and check that we
didn't leak any timers or animations.

Also, fix several bugs that this addtional check revealed.

Fixes #2481
2016-03-09 13:37:24 -08:00
Adam Barth
e4b1eab854 Remove //examples/widgets
Most of the remaining widget examples are actually manual tests. This patch
moves them into //dev/manual_tests. A couple are examples of using services,
which I've moved to //examples/layers/services. The remainder are out-dated and
are removed by this patch.
2016-03-08 16:37:32 -08:00
Hans Muller
73d7378cee Support undo in the leave-behind demo 2016-03-08 15:31:29 -08:00
Hixie
a16f07d945 Drop the argument to SceneBuilder's constructor 2016-03-08 14:17:01 -08:00
Hans Muller
2662ea5283 Added support for List leave-behind items 2016-03-07 14:50:25 -08:00
Adam Barth
bbaff5ea69 Merge pull request #2406 from abarth/rm_draw_looper
Remove the one use of DrawLooper
2016-03-03 20:35:43 -08:00
Adam Barth
245c5ae2b8 Remove the one use of DrawLooper
We're going to remove DrawLooper from the canvas API soon.
2016-03-03 17:32:34 -08:00
Viktor Lidholt
2d76b2f88b Renames Weather demo 2016-03-03 13:17:24 -08:00
Hans Muller
44cd57f2f2 Add DismissDirection onDismissed() callback parameter 2016-03-03 11:47:15 -08:00
Hans Muller
f1659e4f7a more type parameters 2016-03-03 10:18:53 -08:00
yjbanov
ee184a7821 driver.scroll action; scroll perf test for Stocks 2016-03-02 17:13:49 -08:00
Adam Barth
6d2a6ff7c9 Merge pull request #2322 from abarth/analyzer_fix
Fix analyzer warning
2016-03-02 10:23:14 -08:00
Adam Barth
3d2e46acd2 Fix analyzer warning 2016-03-02 10:14:56 -08:00
Adam Barth
bfc39aa843 Remove IconThemeColor
This enum doesn't make sense anymore now that we can arbitrarily colorize
icons.  Instead, we just use a Color, which is both simpler and can be
interpolated during animations.

Fixes #1279
2016-03-02 10:11:42 -08:00
Hixie
cb5017d17d Convert LinearGradient and RadialGradient to fractional units
Makes it easier to use without a SizeObserver
2016-03-02 09:56:37 -08:00
Adam Barth
870894fc68 Switch Material Design icons to using the iconfont
Rather than managing all the Material Design icons manually, we now
manage them using an icon font. The icon font contains glyphs for each
icon in an efficient vector format.

This patch updates the FLX tooling to include the MaterialIcons font and
updates the Icon widget to use the font instead of asset images.

Fixes #2313
Fixes #2218
Fixes #2009
Fixes #994
2016-03-02 09:32:02 -08:00
Hans Muller
d8eaac42fb Added menu dividers 2016-03-02 08:45:26 -08:00
Hans Muller
69f9e3b2a9 Added ListItem dividers 2016-03-01 13:07:37 -08:00
Matt Perry
eaee8915e9 Remove unused updater package. 2016-02-29 15:11:20 -05:00
Hans Muller
204130d221 Fixed a typo 2016-02-29 10:12:14 -08:00
Adam Barth
3bbeee7b54 Remove AnimationDirection
This concept is now private to AnimationController. All the clients actually
want the AnimationStatus.
2016-02-26 16:32:42 -08:00
Adam Barth
19b9464e58 Merge pull request #2231 from abarth/fab_tooltips
Add tooltips to FloatingActionButtons
2016-02-26 14:38:36 -08:00
Adam Barth
61611d4715 Add tooltips to FloatingActionButtons
Fixes #1875
2016-02-26 13:59:35 -08:00
Hans Muller
3d377305f4 updated per review feedback 2016-02-26 13:13:46 -08:00
Hans Muller
179d41e68f Add CheckedPopupMenuitem, update the Stocks demo 2016-02-26 11:27:44 -08:00
Hans Muller
f1df2bd7c0 Gallery Menu Demo etc 2016-02-25 16:16:44 -08:00
Eric Seidel
5e7c504530 Remove examples/fitness
We originally wrote examples/fitness to be an app which all
members of the Flutter team could carry on their phones and
use every day.  It served us well for testing of Text input,
Keyboards and writing/reading JSON.  It's never actually become
a real carry app, so lets just let it go for now.

@abarth @collinjackson
2016-02-25 14:32:35 -08:00
Chinmay Garde
f0d1dbc551 Re-run flutter create on examples to fill in icons and other assets 2016-02-25 13:39:34 -08:00
Hixie
0df3730d3e Just-in-time mutations of GestureDetector
This allows us to adjust exactly which gestures we're listening for
during layout, which I'll use to kill a SizeObserver.
2016-02-24 16:18:05 -08:00
Adam Barth
fb4dbf4584 Improve TextSpan
Now we just have one TextSpan class that handles both simple strings, trees of
children, and styling both. This approach simplifies the interface for most
clients.

This patch also removes StyledText, which was weakly typed and tricky to use
correctly. The replacement is RichText, which is strongly typed and uses
TextSpan.
2016-02-24 14:07:10 -08:00
Hans Muller
8dcdec532f Moved the home page padding to inside the Block 2016-02-23 15:49:54 -08:00
Hans Muller
25e22f5648 List Gallery Demo 2016-02-23 15:24:41 -08:00
Adam Barth
2c2fa23886 Remove ThemeData.primarySwatch
In the dark theme, there isn't really a primary swatch, so this API was
a sandtrap. Instead, be explicit about the colors we need for various
widgets in the theme.

Fixes #1277
2016-02-21 20:28:32 -08:00
Adam Barth
1484add104 Add TestGesture
This helper makes it easier to write correct tests that involve
gestures.

Fixes #1855
2016-02-21 14:32:58 -08:00
Adam Barth
72fcbb7d36 SnackBar should have a single optional action
The example in the spec with multiple actions is an anti-example.

Fixes #1876
2016-02-20 16:54:10 -08:00
Hans Muller
870d9e95f7 Gallery icons demo 2016-02-19 14:40:11 -08:00
Hans Muller
f989d3b855 Tooltip gallery demo 2016-02-19 08:27:16 -08:00
Hans Muller
5070d94243 Added GridTile 2016-02-18 16:08:54 -08:00
Hans Muller
8cfe31f5e8 Added GridTileBar, grid gallery demo 2016-02-18 10:13:36 -08:00
Viktor Lidholt
9576ce4399 Adds dialog for completed exercise in Fitness demo 2016-02-17 10:14:44 -08:00
Devon Carew
04eee82dd2 rename some flutter command references in readmes 2016-02-17 07:34:59 -08:00
Chinmay Garde
8caf7b6289 Add iOS configuration files for all examples and remove GN related files 2016-02-16 16:17:14 -08:00
Chinmay Garde
23bbbcda2a Add iOS specific assets to the Stocks example 2016-02-16 15:58:06 -08:00
Viktor Lidholt
8be6ed5872 Fitness demo, initial version 2016-02-16 11:51:59 -08:00
Adam Barth
4408c820e1 Rename AutoLayoutParams to AutoLayoutRect
This object represents a rect the auto-layout system.
2016-02-15 16:29:27 -08:00
Adam Barth
c7d71d8ab1 Simplify the AutoLayout API
This patch makes it easier to use the auto layout API:

* We no longer use operator== because that requires an ugly cast by the
  API user.
* Also, "leftEdge" is now just "left" for less verbosity.
* AutoLayoutChild not implies its key from the AutoLayoutParam object.
* We now correctly layout every child of a RenderAutoLayout object even
  if the solver doesn't flush any updates to that child.
2016-02-15 15:25:21 -08:00
Adam Barth
262dd7a63b Add support for autolayout to widgets
This patch teaches the widget framework how to use Cassowary-based
autolayout. To integrate autolayout with widgets, I had to refactor how
RenderAutoLayout worked a bit. Now RenderAutoLayout follows the same
delegate pattern we use for custom paint and custom layout.
2016-02-15 03:01:40 -08:00
Adam Barth
b672a3d436 Stocks input field for company name doesn't work
We weren't listening to the onChange handler.

Fixes #1850
2016-02-14 14:23:40 -08:00
Adam Barth
d6f28faa04 Merge pull request #1867 from abarth/raw_hello_world
Add a raw hello_world that shows "Hello, world"
2016-02-13 19:41:10 -08:00
Ian Hickson
3eb1b412e0 Fix color of icons in drawers in dark theme.
This makes it match the material spec more.
https://www.google.com/design/spec/style/icons.html

Fixes https://github.com/flutter/flutter/issues/1357
2016-02-13 17:10:10 -08:00
Adam Barth
1ab3d3a71c Add a raw hello_world that shows "Hello, world"
Previously, hello_world.dart was an interactive circle. I've moved that
to touch_input.dart. We should eventually harmonize the touch input
examples at all the layers.
2016-02-13 16:51:00 -08:00
Adam Barth
025c43de1c Adds documentation to the layering examples 2016-02-13 16:14:42 -08:00
Adam Barth
aba27211ef Remove reference to non-existent package 2016-02-13 13:15:19 -08:00
Adam Barth
948ae15ca5 Clean up the standalone examples
Our examples have been growing organically over time. This patch cleans
them up to illustrate specific aspects of Flutter.
2016-02-13 11:00:58 -08:00
Collin Jackson
6c2ab9d352 Merge pull request #1847 from collinjackson/input_key
Don’t require global keys for Input, fixes #1828
2016-02-12 17:58:08 -08:00
Ian Hickson
ca4d10d33a Merge pull request #1820 from Hixie/rainbox
Expose more debugging tools in Stocks
2016-02-12 17:21:16 -08:00
Collin Jackson
d4533622e1 Don’t require global keys for Input, fixes #1828 2016-02-12 16:56:10 -08:00
Adam Barth
79035979cd Remove address_book and mine_digger
These examples aren't particularly good models for new Flutter apps.
2016-02-12 15:19:13 -08:00
Hans Muller
f53c1edcab Merge pull request #1838 from HansMuller/goodbye_curly
Bump the flutter_gallery_assets version, rename example apk dirs to android, remove BUILD.gn files
2016-02-12 15:11:50 -08:00
Matt Perry
56c7911ac7 Merge pull request #1834 from mpcomplete/rm.gcm
Remove gcm package from the repository.
2016-02-12 18:08:13 -05:00
Hans Muller
8c78bf47c1 updated flutter_gallery_assets version
rename example apk dirs to android
removed all BUILD.gn files
2016-02-12 15:03:14 -08:00
Matt Perry
721c391885 Remove gcm package from the repository.
I moved it to https://github.com/mpcomplete/flutter_gcm for now.
2016-02-12 17:32:50 -05:00
Hans Muller
8f0fd6364d typography demo 2016-02-12 13:54:28 -08:00
Hixie
fd7be69df0 SizeObserver crusade: snap alignment
Remove the SizeObserver you need to use snap alignment in lists by
having the lists provide the size themselves in the callback.

Also, remove snapAlignmentOffset since we couldn't figure out how to
explain it and it's not really needed.
2016-02-12 12:40:44 -08:00
Hixie
a95c866bf3 Expose more debugging tools in Stocks 2016-02-12 11:41:17 -08:00
Hans Muller
78b3096126 colors demo 2016-02-12 11:31:08 -08:00
Todd Volkert
5d496143ba Review 2016-02-12 08:27:47 -08:00
Todd Volkert
69e1647a87 review comments 2016-02-12 08:18:58 -08:00
Todd Volkert
9048949826 Ignore generated/ instead of ios/ 2016-02-12 08:11:44 -08:00
Hans Muller
8eaa9e69e5 Added a Card demo. 2016-02-11 15:36:50 -08:00
Jason Simmons
279c6149c5 Merge pull request #1747 from jason-simmons/input_field_clear
Change the text/selection value API of the input field
2016-02-11 13:46:13 -08:00
Hixie
8e279f320e Provide a Draggable that starts on drag
This lets it cooperate with other gestures like tap.

The way I implemented this was to refactor the entire Draggable gesture
logic to use a new kind of gesture detector called
MultiDragGestureRecognizer. It works a bit like
MultiTapGestureRecognizer but for drags.

Also some tweaks to the velocity estimator.
2016-02-11 12:54:10 -08:00
Jason Simmons
52c55344d9 Change the text/selection value API of the input field
(see https://github.com/flutter/flutter/issues/1586)
2016-02-11 12:52:15 -08:00
Ian Hickson
abce29f118 Merge pull request #1774 from Hixie/exports
Clean up imports and exports.
2016-02-11 00:12:42 -08:00
Ian Hickson
a94999ba50 Clean up imports and exports.
Each layer is supposed to reexport the parts of the previous layer
that are part of its API.

- In painting.dart, export from dart:ui all the Canvas-related APIs
  that make sense to be used at higher levels, e.g. PaintingStyle.

- Delete painting/shadows.dart. It was dead code.

- In rendering/object.dart, export all of painting.dart.

- In widgets/basic.dart, export all of painting.dart and
  animation.dart. Some classes in animation/ are renamed to make this
  less disruptive and confusing to the namespace.

- Split out Stocks back into an import model rather than a part model,
  so that it's easier to manage its dependencies on a per-file basis.

- Move Ticker to scheduler library.

- Remove as many redundant imports as possible now.

- Some minor nit picking cleanup in various files.
2016-02-11 00:06:23 -08:00
Adam Barth
f4d784dca9 Add an example of creating a custom RenderBox 2016-02-11 00:04:14 -08:00
Hans Muller
66d855274a gallery dialog demos 2016-02-10 16:29:55 -08:00
Hixie
3bd8bc3362 Improve asserts around BoxConstraints
Negative constraints never make sense, so catch those too.

Make RenderObject.layout's isNormalized assert use the newer more fancy
debug version of isNormalized.
2016-02-10 11:12:13 -08:00
Hixie
c56d378868 Draggable: childWhenDragging, maxSimultaneousDrags 2016-02-09 14:47:53 -08:00
Hans Muller
4264d5e749 Added button dialog and snackbar demos 2016-02-09 10:09:54 -08:00
Adam Barth
657eadcdb5 Make the Mozart demo more like a real window manager
We now have a resizer and close button. Also add some shadows and
launcher buttons.
2016-02-08 21:08:12 -08:00
Adam Barth
256af1433c Actually populate the view host proxy
Now that the engine lets us take the view host handle, we can actually
access the view host from Dart.
2016-02-08 15:14:09 -08:00
Adam Barth
9251504a57 Add more dartdoc to widgets.dart
This patch includes documentation for transitions.dart and for
scrollable.dart.
2016-02-05 20:21:42 -08:00
Hans Muller
c9ea79e87e alphabetize component demos 2016-02-05 14:15:52 -08:00
Hans Muller
972781f95f Merge pull request #1638 from HansMuller/gallery_drawer
Gallery support for light/dark theme switching, slow animation speed
2016-02-05 14:12:22 -08:00
Hixie
1a0484cc7e Improve exceptions and asserts for rendering lib.
* Use actual exceptions rather than assertions containing code
  containing strings when trying to give messages to authors.
* Introduce RenderingError which is an AssertionError that takes a
  string argument, to support the above.
* Provide a BoxDimensions.hasBoundedWidth/hasBoundedHeight API.
* Document BoxDimensions.isNormalized.
* Provide more useful information when we assert isNormalized and find
  that it is false.
* When finding the size is infinite, crawl the tree to figure out which
  render box is likely responsible for the infinite constraints.
* Provide more information when size doesn't match the constraints.
* Provide more information when intrinsic dimension methods violate the
  constraints.
* Only spam a huge amount of information for the first exception from
  the rendering library. I've noticed a lot of people looking at the
  last exception printed rather than the first and that's very
  misleading -- after the rendering library hits an exception, all bets
  are off regarding what'll happen in the future. All kinds of asserts
  might fire.
* Improve docs around the debug methods and flags for the above.
* Make Block default to have no children. Previously, giving no children
  crashed with a confusing message about a null deref in an assert.
2016-02-05 13:55:40 -08:00
Hans Muller
2d91452656 gallery gets a drawer 2016-02-05 13:19:37 -08:00
Hans Muller
82e4309960 Support a TabLabel icon Widget builder. 2016-02-05 09:43:17 -08:00
Hans Muller
82bd1789ac fixed a typo 2016-02-04 11:32:01 -08:00
Hans Muller
64c2766c8c Added the FAB per Tab demo 2016-02-04 11:12:45 -08:00
Hans Muller
8741f33ebe Added a flexible appbar gallery demo 2016-02-04 09:42:23 -08:00
Viktor Lidholt
bfc9af5c58 Adds initial version of weather to the gallery app 2016-02-03 15:55:32 -08:00
Alexandre Ardhuin
99b2b84d57 Rename "Toggle Controls" to "Selection Controls"
Fixes #1537
2016-02-03 09:05:37 +01:00
Hans Muller
6bc65e0373 Add support for the appbar behavior described in the "Flexible space with image" section of https://www.google.com/design/spec/patterns/scrolling-techniques.html#scrolling-techniques-scrolling. 2016-02-02 16:32:39 -08:00
Kris Giesing
d4cc315cc4 Update example to use ImageInfo 2016-02-01 14:04:15 -08:00
Kris Giesing
9572b4969f Add support for asset variants and resolution-aware images 2016-01-28 18:11:32 -08:00
Ian Hickson
064805235d Merge pull request #1309 from Hixie/semantics-3
Semantics
2016-01-27 15:54:59 -08:00
Adam Barth
92e0092cae Merge pull request #1412 from abarth/fix_container
examples/widgets/container.dart does not display the buttons
2016-01-27 11:27:46 -08:00
Adam Barth
4aac34019c examples/widgets/container.dart does not display the buttons
Add a missing Material.

Fixes #1402
2016-01-27 10:59:24 -08:00
Seth Ladd
9352c6c359 Merge pull request #1408 from sethladd/ignoreios
ignore the ios dir in examples
2016-01-27 10:39:41 -08:00
Seth Ladd
db3f551f59 ignore the ios dir in examples 2016-01-27 10:32:06 -08:00
Hixie
a309cea1d4 Resurrect spinning_mixed.
It had bit-rotted. Also improve our error reporting for missing Material.
2016-01-27 10:07:11 -08:00
Hixie
28a1788371 Semantics 2016-01-27 10:04:49 -08:00
Collin Jackson
d48a469f8a Merge pull request #1389 from collinjackson/contentType
Example of setting the content type of a POST request
2016-01-26 13:05:16 -08:00
Collin Jackson
cd95d51c70 Example of setting the content type of a POST request 2016-01-26 12:24:33 -08:00
Adam Barth
58c7fdef36 Add RawKeyboardListener
RawKeyboardListener makes it easier to listen for raw keyboard events.

Fixes #787
2016-01-25 20:37:22 -08:00
Ian Hickson
5494323db9 Move us to HashSet to avoid the overhead of tracking the order 2016-01-23 18:13:13 -08:00
Adam Barth
432bfb4729 Add material design features to Input
Properly support labels, hints, icons, and custom typography.
2016-01-23 00:21:18 -08:00
Adam Barth
4357d08714 Merge pull request #1344 from abarth/icon_color
Simplify colorizing icons
2016-01-22 12:53:41 -08:00
Adam Barth
82e30c8649 Simplify colorizing icons
Now you can colorize an Icon simply by proving a Color for the Icon.
2016-01-22 12:07:45 -08:00
Matt Perry
dcbb4960eb 'flutter apk' now supports dynamically registered services.
Third-party libraries can now provide their own mojo services. They do
so by adding a config.yaml file to their pub package which contains
- a list of service names and java classes which handles that service's
  registration.
- a list of pre-built .jar files to statically link with the app's shell
  when building the app.
2016-01-22 13:20:54 -05:00
Hans Muller
8218ff683f Change Block children to be a named parameter 2016-01-22 08:04:21 -08:00