2592 Commits

Author SHA1 Message Date
Adam Barth
beb8afa456 Switch to the assets plugin (#6408)
This patch removes our dependency on asset_bundle.mojom.
2016-10-19 22:04:56 -07:00
Hans Muller
5d19fe3537 export the Overflow enum (#6403) 2016-10-19 15:56:58 -07:00
Adam Barth
c08ea4eb33 Switch to TextInputPlugin (#6392)
This patch removes uses of keyboard.mojom in favor of the
TextInputPlugin.
2016-10-19 15:53:31 -07:00
Matt Perry
d39eb84ac4 Add a maxLines parameter for multiline Input. (#6328)
If maxLines is 1, it's a single line Input that scrolls horizontally.
Otherwise, overflowed text wraps and scrolls vertically, taking up at
most `maxLines`.

Also fixed scrolling behavior so that the Input scrolls ensuring the
cursor is always visible.

Fixes https://github.com/flutter/flutter/issues/6271
2016-10-19 17:18:16 -04:00
Matt Perry
97dbd9eacf Rename RawInputLine to RawInput, and RenderEditableLine to RenderEdit… (#6401)
They support multiline text now.
2016-10-19 17:17:51 -04:00
Ian Hickson
5bde9d284d Expand Semantics dartdocs. (#6399)
I based this on a conversation I had with @mpcomplete.
2016-10-19 17:01:04 -04:00
Hans Muller
9eef853580 Update Android scrolling physicsAndroid physics (#6391) 2016-10-19 09:08:54 -07:00
Adam Barth
2cfc040572 Add TextInput class for interacting with the IME (#6386)
This class will eventually replace the Keyboard class we currently use. As part
of this migration, we'll switch from using mojom to interact with the IME to
using platform messages.
2016-10-18 22:41:09 -07:00
Ian Hickson
cfddacbb81 Platform selector in gallery. (#6390) 2016-10-18 22:44:43 -04:00
Jason Simmons
1f1d72853b Enable call to Keyboard.ClearClient now that it's available in the engine (#6384)
Fixes https://github.com/flutter/flutter/issues/6274
2016-10-18 14:42:25 -07:00
Jason Simmons
ebe60bab22 BottomNavigationBar: fix the calculation of the expanding circle animation (#6373)
The circle's offset represents the position of a navigation button within the
row of buttons.  Previously, this offset had been applied to the entire width
of the bottom bar, not just the button region.

Fixes https://github.com/flutter/flutter/issues/6046
2016-10-18 11:51:34 -07:00
Adam Barth
88cf68c847 Migrate Clipboard to platform messages (#6367)
The platform plugin now supports clipboard operations.
2016-10-18 10:04:17 -07:00
Adam Barth
50ebcd1dff Migrate RawKeyboard to platform events (#6366)
This patch moves RawKeyboard from mojom over to platform messages. In
the process, I've also cleaned up the interface substantially.

Currently raw key events are supported only on Android, but the
interfaces defined in this patch should scale up to multiple platforms.
2016-10-18 00:59:40 -07:00
Adam Barth
08ba8dc495 Add a mechanism for receiving platform messages (#6361) 2016-10-17 16:42:01 -07:00
Adam Barth
48690d7c2e Add support for persistent footer buttons (#6345)
Fixes #616
2016-10-17 12:50:47 -07:00
Adam Barth
c77798a384 PaintingContext should say when alwaysNeedsCompositing is needed (#6338)
Also, update the docs to point to the correct property.

Fixes #6224
2016-10-17 12:35:19 -07:00
Adam Barth
63e7a0e80a Add BuildContext.size as a convenience getter (#6355)
Developers need to get the size of the BuildContext sufficiently often
that we should provide a convenient getter for the value. Having this
getter is also an opportunity to catch common mistakes and provide
useful error messages that guide developers towards better patterns.

Fixes #2321
2016-10-17 12:33:11 -07:00
Adam Barth
1d6fa089c4 Improve error message for createState type errors (#6339)
Fixes #6209
2016-10-17 11:16:50 -07:00
Adam Barth
8b16c0252d Add custom clipping to ClipRRect (#6346)
Fixes #773
2016-10-17 11:16:26 -07:00
Adam Barth
61240fe8c6 Tap above LongPressDraggable should work (#6348)
Previously, we were nulling out the ArenaEntry in MultiDragPointerState
too early, which was prevent MultiDragPointerState from rejecting the
gesture in `dispose` if we hadn't accepted by the time the pointer went
up. Now we properly reject the gesture, which causes the tap gesture to
win during `sweep` in the arena.

Also, add a bunch of docs and annotations based on information I learned
while studying this issue. Finally, rename a private member of tap
recognizer to a name that would have confused me less in my
investigation.

Fixes #1186
2016-10-17 10:05:28 -07:00
Adam Barth
6399a3af41 Fix DropdownButton regression (#6353)
When I changed how routes complete their futures, I broke the Dropdown
button because it was still waiting for its own Completer to complete
instead of using the Future returned by push. This patch fixes that
issue.

I've also removed the previous behavior of the DropdownButton forwarding
its text style to its route. The mechansim that we were using doesn't
work properly in all cases. For example, if the DropdownButton is a
child of a LayoutBuilder, then the route will have already built by the
time the DropdownButton gets a chance to forward its text style, causing
an assert in setState.

Finally, I've tweaked PopupMenuButton to work the same way as
DropdownButton in a couple corner cases (e.g., not calling the changed
callback if the button was removed from the tree before the menu
completed its Future).

Fixes #6352
2016-10-17 10:00:48 -07:00
Adam Barth
e81e06a6ae Fix typo in TableRow.toString (#6354)
Fixes #6351
2016-10-17 10:00:09 -07:00
Adam Barth
06babb2898 Removing a Draggable during a drag should work (#6341)
Previously we would maroon the feedback in the overlay. Now we let the
drag proceed and only tear down the gesture recognizer when all the
drags it spawns have been resolved.

Fixes #6151
2016-10-15 18:31:14 -07:00
Adam Barth
1262833377 Support zero for Draggable.maxSimultaneousDrags (#6342)
This patch also makes it possible for a single DragTarget to handle
multiple draggables with the same data without asserting.

Fixes #6086
2016-10-15 18:25:25 -07:00
Adam Barth
ea3c3f53a5 Add Draggable.onDragStarted (#6343)
Fixes #6084
2016-10-15 13:03:31 -07:00
Adam Barth
034d2fcd5d Ensure delayed multidrag timer is stopped (#6340)
Previously we were relying on the gesture arena to call us back to
cancel our timer. However, in the case where we've already been
accepted, asking the gesture arena to reject us doesn't lead to a
callback and we fail to stop the timer (and hence trigger an assert).

Fixes #6156
2016-10-15 13:02:38 -07:00
Hans Muller
f167efba49 Tweaked scroll simulation for iOS platform (#6334) 2016-10-14 20:09:19 -07:00
Adam Barth
ffe14b0d27 Navigator.push and Navigator.pushNamed should return Futures (#6333)
These futures complete when the route is popped off the navigator. This
generalizes and simplifies a mechanism already in place for dialogs and
menus.

Fixes #5283
2016-10-14 16:05:45 -07:00
Adam Barth
93d757c3e0 Dismissable should cull and clip background (#6325)
When not dismissing, the Dismissable widget should cull its background.
When a dismiss is in progress, it should clip the background to just the
part that is revealed.

Fixes #6127
2016-10-14 13:32:56 -07:00
Adam Barth
616ba9361f Correctly compute the center of the time picker (#6323)
Previously we assumed the dial was square, which isn't always the case.

Fixes #6315
2016-10-14 07:50:11 -07:00
Ian Hickson
34584e99e0 Input docs and lifecycle improvements (#6321)
I added some documentation to Input as I was learning how it worked
(and some minor tweaks, like handling reparenting better).
2016-10-13 22:00:00 -04:00
Matt Perry
c13a6e275b Add a maxLines parameter for multiline Input. (#6310)
* Add a maxLines parameter for multiline Input.

If maxLines is 1, it's a single line Input that scrolls horizontally.
Otherwise, overflowed text wraps and scrolls vertically, taking up at
most `maxLines`.

Also fixed scrolling behavior so that the Input scrolls ensuring the
cursor is always visible.

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

* oops

* comments

* import

* test and RO.update fix

* constant

* fix.caretRect
2016-10-13 21:59:50 -04:00
Adam Barth
6e5c192cef Remove use of activity.mojom (#6317)
Instead, we now interact with the system navigator via SystemNavigator.
2016-10-13 15:16:54 -07:00
Ian Hickson
e8168401e5 Stop fields moving when focus changes (#6316)
Previously, if you focused a field, fields below it would shift down by one pixel.

This change tries to guarantee that that won't happen.
2016-10-13 18:15:59 -04:00
Adam Barth
3b56f12219 Fix composited transform bounds calculations (#6302)
We weren't computing the bounds for composited transforms correctly. We
need to conjugate the transform by the offset in order to get the
correct paint bounds for the composited layer. We now also use the same
math in the non-composited case for consistency.

Also, don't scale the z-coordinate in RenderFittedBox.

Fixes #6293
2016-10-13 15:00:34 -07:00
Adam Barth
3f19b2db98 Switch to using PlatformPlugin instead of mojom (#6292)
* Switch to using PlatformPlugin instead of mojom

* Update engine.version
2016-10-13 02:10:32 -07:00
Adam Barth
5af922edb0 Use antialiased clips (#6298)
The Skia team tells us that these go faster.
2016-10-12 18:27:40 -07:00
Jason Simmons
2805e5f8b8 Remove logs about unrecognized service protocol object types (#6278) 2016-10-12 09:41:35 -07:00
Adam Barth
c4a86788eb Add an ergonomic wrapper for platform messages (#6281)
This wrapper will eventually replace HostMessages.
2016-10-12 09:41:05 -07:00
Adam Barth
322d1041a8 Add label and children to semantics update (#6268)
We were missing these before.
2016-10-11 12:16:07 -07:00
Adam Barth
f5b9d388cd Switch to the new semantics backend (#6259)
This match switches the framework to use the semantics backend in `dart:ui`
rather than the Mojo backend.
2016-10-11 10:51:41 -07:00
Adam Barth
f11bb25b8f SemanticsDebugger should use SemanticsNodes directly (#6252)
Instead of reading the mojom serialization and re-inflating it, the
SemanticsDebugger now shows the SemanticsNode objects directly.
2016-10-07 19:57:55 -07:00
Jason Simmons
bed0300b2a Wrap input widgets in a repaint boundary (#6248)
Performance improvement for https://github.com/flutter/flutter/issues/6008
2016-10-07 13:41:59 -07:00
Adam Barth
2c21d795a4 Deploy @checked (#6244)
This patch adds `@checked` everywhere is needed to remove the
`strong_mode_invalid_method_override` strong mode error.
2016-10-07 11:27:54 -07:00
Adam Barth
d65cda2379 Switch the model for SemanticsNode to use dart:ui types (#6234)
This will make it easier to switch to SemanticsUpdateBuilder.
2016-10-06 11:29:41 -07:00
Adam Barth
41a91a7a68 Use "SemanticsFoo" consistently instead of "SemanticFoo" (#6233)
This change might make our grammar less perfect, but it will increase our
sanity.
2016-10-06 10:52:46 -07:00
Jason Simmons
90504b122c Adjust the IconButton constraint to match its size (#6226)
Fixes https://github.com/flutter/flutter/issues/5763
2016-10-06 10:13:53 -07:00
Matt Perry
2fd78dcc53 Add multiline support to Input and friends. (#6155)
Fixes https://github.com/flutter/flutter/issues/6154
2016-10-05 15:46:48 -04:00
Adam Barth
73ff419890 Let MaterialApp override the initial route (#6216)
Fixes #6215
2016-10-05 11:13:28 -07:00
Phil Quitslund
e44f6fe478 Bump Dart SDK to 1.20.0-dev.10.0. (#6212)
* Bump Dart SDK to `1.20.0-dev.10.0`.

`1.20.0-dev.10.0` corresponds to `1.20-RC0`.

* pubspec.lock cleanup

* check for pubspec.lock existence

* cleaned up conditional remove
2016-10-05 09:05:15 -07:00