4355 Commits

Author SHA1 Message Date
Ian Hickson
17cdc88958 Improve our scroll physics on iOS (#5340)
Changes in this patch:
- iOS now uses a different scrollDrag constant than Android.
   - ScrollConfigurationDelegate now knows about target platforms.
   - ScrollBehaviors now know about target platforms.
   - RawInputLine now has to be told what platform it's targetting.
   - PageableList now has a concept of target platform.
- make debugPrintStack filter its stack.
   - move debugPrintStack to `assertions.dart`.
- add support for limiting the number of frames to debugPrintStack.
- make defaultTargetPlatform default to android in test environments.
- remove OverscrollStyle and MaterialApp's overscrollStyle argument. You
  can now control the overscroll style using Theme.platform.
- the default scroll configuration is now private to avoid people
  relying on the defaultTargetPlatform getter in their subclasses (since
  they really should use Theme.of(context).platform).
- fix some typos I noticed in some tests.
- added a test for flinging scrollables, that checks that the behavior
  differs on the two target platforms.
- made flingFrom and fling in the test API pump the frames.
- added more docs to the test API.
- made the TestAsyncUtils.guard() method report uncaught errors to help
  debug errors when using that API.
2016-08-11 11:31:30 -07:00
John McCutchan
cf2b2078d4 Send reload / restart time to frame to analytics (#5335) 2016-08-11 10:01:53 -07:00
Devon Carew
6b1597dc0d send the base uri back to debuggers (#5321)
* send the base uri back to debuggers

* add a fullRestart parameter to app.restart

* add await
2016-08-11 09:51:19 -07:00
John McCutchan
ec0f880032 Hot reload: Only sync Dart sources necessary for startup on first launch (#5333)
- [x] Update engine to bring in new snapshotter.
- [x] Use the new snapshotter to quickly determine the minimal set of files necessary to run.
- [x] On first DevFS sync, only sync files necessary to run the application.
- [x] Fix a DevFS unit test failure.
- [x] Include DevFS tests in all.dart.
2016-08-11 07:40:49 -07:00
Phil Quitslund
0fe82c3a6f Update Dart SDK to 1.19.0-dev.4.0. (#5329) 2016-08-10 16:21:58 -07:00
John McCutchan
b314fa5979 Add time to frame tracking to hot run (#5316) 2016-08-10 14:02:44 -07:00
Jason Simmons
2075816df6 Decide whether to compress files in the FLX based on filename extensions (#5317)
Previously the FLX builder compressed assets only if they were not dynamically
generated.  This meant that the license file was not compressed.
2016-08-10 12:37:09 -07:00
Hans Muller
b69a6b95c5 pathname (#5319) 2016-08-10 11:40:39 -07:00
Chinmay Garde
5e2f04173a Account for updated paths during local engine builds. (#5318) 2016-08-10 11:30:07 -07:00
Ian Hickson
a194e59390 Support multilicense LICENSE files generically. (#5310)
Also, add a "flutter build flx --report-licensed-packages" option for
when you need to get the list of the packages affected by licenses.
2016-08-09 20:03:14 -07:00
Jason Simmons
8d5c2540ea Create an empty zip file in ZipToolBuilder if the entry list is empty (#5311)
This can happen if you build an FLX in release mode for an app with no assets
(such as the hello_world example)
2016-08-09 15:50:17 -07:00
John McCutchan
6b3766d661 Send FirstFrame event after reassemble (#5314) 2016-08-09 15:31:48 -07:00
Devon Carew
14483586e0 make flutter run work with a pre-built apk (#5307)
* make flutter run work with a pre-built apk

* refactor to remove the buildDir param
2016-08-09 14:38:13 -07:00
Yegor
a0aa0edfc5 --trace-startup: non-zero exit code when fails; enable in iOS runtime (#5309) 2016-08-09 14:12:15 -07:00
John McCutchan
a8198122b8 Enable hot mode for iOS devices (#5308) 2016-08-09 13:02:15 -07:00
John McCutchan
9543366eab Send asset evictions notices to Flutter framework (#5303) 2016-08-09 11:27:12 -07:00
Ian Hickson
95f2e981da Provide an observatory extension to evict resources (#5241)
...so that you can use hot reload mode to update assets.
2016-08-09 11:25:43 -07:00
John McCutchan
c13a03fac2 Add analytics for hot reload events (#5300) 2016-08-09 09:36:23 -07:00
Devon Carew
1d0183870b make the apk building part of flutter run optional (#5301) 2016-08-09 09:03:39 -07:00
Devon Carew
4f9e329f0c tweaks to the hot reload messages (#5298) 2016-08-09 07:22:32 -07:00
John McCutchan
4c1dde8d67 Add a control pipe that can trigger reloads / restarts (#5282) 2016-08-09 07:11:24 -07:00
Dragoș Tiselice
e1ebc41a14 Material fixes (#5293)
* Added return value to a onNotification callback.

The LayoutChangedNotification callback was missing a return value.
This commit changes it to return true and stop notification from
bubbling up the tree.

* Changed _RenderInkFeatures to use fresh clip box.

Since it wasn't using the most current value of the RenderBox's
size, _RenderInkFeatures was rendering splashes incorrectly when
the underlying Material size was animating. This commit changes
the clip reference to use the size of the Renderbox instead of
the size method in order to get the newest value.
2016-08-08 16:56:09 -07:00
Todd Volkert
6cd90028f6 Include all tools in the cache when --all-platforms is specified (#5296) 2016-08-08 16:18:24 -07:00
John McCutchan
487f28fdc6 Speedup devFS writing and improve status information (#5287) 2016-08-08 12:42:31 -07:00
Devon Carew
e3f6d1539c update the icons for the create template (#5286) 2016-08-08 11:14:40 -07:00
Devon Carew
30505aef8b support hot mode from the daemon protocol (#5271)
* support hot mode from the daemon protocol

* move method params to constructor
2016-08-05 21:09:42 -07:00
John McCutchan
0a79ffe769 Fix hot restart so that it works with iOS simulators (#5272) 2016-08-05 16:47:15 -07:00
Chris Bracken
49e172e54c Limit font fallback to those in the cache dir (#5270)
This reduces dependence on machine-specific font configuration, making
tests a bit more reproducible.
2016-08-05 15:58:15 -07:00
Jason Simmons
574b2829c8 Update the sky_snapshot command line args to match the latest engine (#5273) 2016-08-05 15:55:43 -07:00
Bob Nystrom
b504fd428c Fix covariant overrides in SynchronousFuture. (#5262)
* Fix covariant overrides in SynchronousFuture.

There were two things going on here. In timeout(), the callback's return
type was needlessly tightened to only allow callbacks that return
futures. This makes SynchronousFuture not substitutable with Future,
whose timeout() allows callbacks that return immediate values.

Since SynchronousFuture.timeout() never calls the callback anyway, I
just loosened it to match Future.timeout().

SynchronousFuture.whenComplete() is just wrong. The type error, again,
is that the callback's return type is too tight. Future.whenComplete()
allows synchronous callbacks.

But the actual implementation is wrong as well. whenComplete() should
return a future that completes to the *original value*, not whatever the
callback returns.

So I just fixed the method to work correctly, including handling
callbacks with synchronous results.

* "(error, stackTrace)" -> "(e, stack)".
2016-08-05 15:18:07 -07:00
Chinmay Garde
21ee4b92f1 Specify the IPHONEOS_DEPLOYMENT_TARGET to 8.0. (#5268)
* Update examples to lower the deployment target on iOS.
2016-08-05 14:56:07 -07:00
Devon Carew
ce9fcb029f remove the resident cli option (#5263) 2016-08-05 14:16:46 -07:00
Ian Hickson
84cbefe2d4 Revert "When a list is scrolling, children can't be tapped" (#5264) 2016-08-05 13:42:55 -07:00
Todd Volkert
435ad476d8 Add --all-platforms option to flutter precache (#5254) 2016-08-05 13:11:47 -07:00
Hans Muller
eebe09d402 Set the ScrollConfiguration for dropdown menus (#5255) 2016-08-05 12:57:29 -07:00
Bob Nystrom
47139f1da9 Fix a couple of covariant overrides in Expression. (#5257)
It was widening the return type of a couple of operators compared to
what EquationMember declared it should return. Since it did in fact
always return an Expression, the widening wasn't needed.

This just tightens them to match the base class.
2016-08-05 12:16:58 -07:00
John McCutchan
81b4e827e1 Split hot run mode into a separate file (#5233) 2016-08-05 12:04:33 -07:00
Ian Hickson
ea7d5bf291 When a list is scrolling, children can't be tapped (#5222) 2016-08-05 10:40:24 -07:00
Eric Seidel
5a0589c781 Remove stray PRODUCT_BUNDLE_IDENTIFIER (#5242)
* Remove stray PRODUCT_BUNDLE_IDENTIFIER

This was erroneously added and overrides
the bundle for the gallery causing signing
to fail in my setup.

@chinmaygarde

* Remove PRODUCT_BUNDLE_IDENTIFIER from all Runner pbxproj's
2016-08-05 10:00:50 -07:00
Adam Barth
4cc094ac9f Remove pop in AppBar hero animations (#5243)
Now the flexible space bar computes its effect from its size rather than from
the Scaffold's animation.
2016-08-05 09:30:45 -07:00
Collin Jackson
d2b3976110 Alter iOS template project to be CocoaPods enabled (#4893) 2016-08-05 09:17:13 -07:00
Adam Barth
7fd3691076 Heroes in flight shouldn't be interactive (#5246)
After this patch, they ignore pointers.
2016-08-05 08:43:16 -07:00
Matt Perry
92d0445a8f Add a fade-in animation for the text selection controls. (#5190)
BUG=https://github.com/flutter/flutter/issues/3938
2016-08-04 16:51:09 -04:00
Adam Barth
628884a8a8 Make AppBar a Hero (#5214)
This patch improves the Post and Shrine transitions by making the AppBar
into a Hero and changing the default MaterialPageTransition. Now the
AppBar transitions smoothly between screens and the
MaterialPageTransition doesn't involve a fade effect.

Also, rejigger the bounds of the image header in Pesto to avoid the
"pop" at the end of the animation by laying out the image header at its
final visual size instead of relying on occlusion to size the image
header.

Fixes #5202
Fixes #5204
2016-08-04 13:05:18 -07:00
Matt Perry
8f3c498f2d Initialize ScrollBehavior's content size to infinite rather than 0. (#5199)
Why this matters: If you navigate back to a page with a Scrollable that
has a nonzero scrollOffset, we will restore that scrollOffset. We clamp
the scrollOffset to the contentExtent before the first layout, before
contentExtent is updated to its proper value. Initializing contentExtent
to INFINITY effectively disables the first clamp, until we can get a
valid value from layout. Since the previous scrollOffset was valid, it
seems safe to assume it's still valid.

BUG=https://github.com/flutter/flutter/issues/4883
BUG=https://github.com/flutter/flutter/issues/4797
2016-08-04 15:46:24 -04:00
Chris Bracken
0ba0127c1a Support a user-specified observatory port in CoverageCollector (#5217) 2016-08-04 10:43:04 -07:00
Jason Simmons
f8a80b1da6 Notify a Scrollable that the associated animation has stopped (#5209)
This also required changing the AnimationController state transition
logic to signal completion of the animation during the tick that
finishes the simulation.

Fixes https://github.com/flutter/flutter/issues/3675
2016-08-04 10:26:35 -07:00
Jason Simmons
b87cc8b14c Handle disposal of a HeroState while a hero is animating (#5189)
Fixes https://github.com/flutter/flutter/issues/5178
2016-08-04 10:26:26 -07:00
Chris Bracken
88536859b4 Correct style in finalizeCoverage parameter list (#5213) 2016-08-03 19:54:33 -07:00
Chris Bracken
a1fa7c94e3 Support passing a custom coverage formatter to finalizeCoverage() (#5208) 2016-08-03 16:58:47 -07:00