2992 Commits

Author SHA1 Message Date
Ian Hickson
7d2519f073 Make it easier to disable print throttling. (#3941)
This exposes the default throttling implementation, and an alternative
non-throttling implementation, of `debugPrint`.
2016-05-16 13:24:06 -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
Matt Perry
5fa6c0e9b0 Remove the unimplemented more option from the copy/paste toolbar. (#3934)
Remove the unimplemented `more` option from the copy/paste toolbar.

Punting this feature for the near time, so I'm removing the dead option
from the toolbar.
2016-05-16 15:18:28 -04:00
Adam Barth
9e7311fedf Add dartdocs to asset_bundle.dart (#3922)
Fixes #3077
2016-05-16 12:18:13 -07:00
Ian Hickson
c5ff156f24 Revert "Rename DefaultTextStyle constructor to explicit (#3920)" (#3930)
This reverts commit 55f9145ef4fb7a7f4b4738740d5848ff745ae076.

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
a078994ac9 Remove last old-style asserts-with-string (#3923)
Use the FlutterError hotness instead.

Fixes #1290
2016-05-16 10:37:58 -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
Devon Carew
4db64ace96 send debug events for flutter lifecycle events (#3903)
* send debug events for flutter lifecycle events

* remove the route event
2016-05-15 17:39:45 -07:00
Michael McLennan
baaa7a0370 Added performance instrumentation for compositing addToScene() calls (#3885)
* Added performance instrumentation for compositing addToScene() calls.

* Switched to non-callback versions of the Timeline API.

* Fixed Dart formatting nit.
2016-05-15 14:19:52 -07:00
Matt Perry
6fd7987b4b Text selection UI matches behavior on Android. (#3886)
- Handles appear with tap or long press.
- Toolbar appears with long press on text, or tap on handle.
- Correct toolbar items shown depending on context.
2016-05-13 14:30:53 -04:00
Hans Muller
7de612add0 Increase fling-sensitivity of scrollable tabs (#3897) 2016-05-13 11:07:09 -07:00
Matt Perry
03141c2cdd Use engine's getWordBoundary method when user selects a word. (#3851) 2016-05-12 15:31:01 -04: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
Adam Barth
cc2f8feedc Add asserts to DefaultTextStyle.inherit (#3844)
The context and child arguments are required.  We should assert that
they're non-null.

Fixes #3843
2016-05-11 18:25:56 -07:00
Hans Muller
5b3a4e5554 AppBar uses LayoutBuilder (#3871) 2016-05-11 15:05:01 -07:00
Matt Perry
e4342184be Use mojo clipboard service for copy/paste toolbar. (#3778)
* Use mojo clipboard service for copy/paste toolbar.

BUG=https://github.com/flutter/flutter/issues/1567
2016-05-10 13:40:55 -04:00
Adam Barth
36d437d6f2 Add support for TextOverflow.ellipsis (#3818)
Fixes #417
2016-05-09 15:57:16 -07:00
Hans Muller
4d8f38e538 Correct ListItem leading/trailing widget layout (#3820) 2016-05-09 15:23:47 -07:00
Chinmay Garde
aff752f802 mojo_client: Dont try to iterate over response headers if there aren't any. (#3811) 2016-05-09 12:53:09 -07:00
Adam Barth
40152c5593 We were looking for HapticFeedback in the wrong service bundle (#3797)
Fixes #3795
2016-05-09 10:28:43 -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
Adam Barth
ac2c8fec34 Left-align contents of drop-down button (#3775)
Fixes #3759
2016-05-06 13:07:05 -07:00
Ian Hickson
4d9fdda759 Remove ModalPosition (for real)
It has no more clients.

Follow-up to #3734.

Fixes #2484
2016-05-06 09:46:51 -07:00
Adam Barth
2592f8f4b6 DropDownMenu should use ScrollableList (#3745)
Previously it used Block, which is less efficient for large numbers of items.
Also move the top margin out of the menu item to fix the baseline alignment of
the text.

Fixes #1615
2016-05-05 12:09:29 -07:00
Adam Barth
b357aa32ec More docs for PerformanceOverlay (#3749)
Fixes #3747
2016-05-05 12:09:23 -07:00
Adam Barth
2fbf11a77b Expose blurSigma (#3743)
Fixes #3741
2016-05-04 18:50:38 -07:00
Adam Barth
6a46bf2e45 Ensure that DropDownMenus are always onscreen (#3742)
This patch sizes the menu such that it is always on screen, but doesn't scroll
the menu to ensure that the currently selected item is always visible and on
top of the button. That will need to wait for a later patch.

Also, teach CustomPaint how to repaint animations more efficiently.

Fixes #3720
2016-05-04 17:13:15 -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
Matt Perry
a5920c3d52 First pass at a material-style copy/paste toolbar. (#3698)
* First pass at a material-style copy/paste toolbar.

This mimics the toolbar you see when selecting text in an Android
material app. There's still more to do (like integration with the system
clipboard), but this seemed like a good stopping point.

BUG=https://github.com/flutter/flutter/issues/1567
2016-05-04 15:37:04 -04:00
Phil Quitslund
04e892a457 Merge pull request #3729 from pq/annotate_literals_2
More type annotations for literals.
2016-05-04 12:32:54 -07:00
Ian McKellar
b04670699e Fix case of 'GET' HTTP method. (#3732)
Fixes #3730
2016-05-04 12:24:04 -07:00
pq
8bc06aa9b3 More type annotations for literals.
The `flutter` package gets more types!

Follow-up from: https://github.com/flutter/flutter/pull/3727.
2016-05-04 10:10:08 -07:00
Ian Hickson
1e093701b7 Save some memory by only storing one copy of the animation object... (#3724)
Turns out we were storing the same object in the base class and the
subclass. For pretty much every AnimatedWidget subclass.
2016-05-03 23:49:35 -07:00
Adam Barth
7712e583a4 Add missing dartdocs from material.dart (#3709)
Making progress towards document all public APIs in material.dart. We're still
missing a few odds and ends (as well as missing docs in tabs.dart,
tooltip.dart, and two_level_list.dart).
2016-05-03 21:07:29 -07:00
Adam Barth
bf0f38c615 Add more dartdoc to material.dart (#3702)
This patch completes the circuit on this library. The next step is to go
through and add docs to anything we missed.
2016-05-03 15:01:46 -07:00
Ian Hickson
50626e9b21 ClipPath (#3695)
* ClipPath

* Add a test for ClipOval and ClipPath
2016-05-03 14:45:36 -07:00
Adam Barth
00e0075f8b PathProvider.getTemporaryDirectory() never resolves (#3705)
We were looking for this service in the wrong service provider.

Fixes #3683
2016-05-03 14:35:00 -07:00
Ian Hickson
4b401a3e75 Track the worst frame in perf tests (#3642)
* Track the worst frame in perf tests

* Use backticks in "/// Returns `null` if"
2016-05-03 14:00:10 -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
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
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
Adam Barth
5460e94488 Add docs to Element.performRebuild (#3667) 2016-05-02 13:38:07 -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