Commit graph

8625 commits

Author SHA1 Message Date
Ian Hickson 9adb4a78a6 Deep linking: automatically push the route hiearchy on load. (#10894)
The main purpose of this PR is to make it so that when you set the
initial route and it's a hierarchical route (e.g. `/a/b/c`), it
implies multiple pushes, one for each step of the route (so in that
case, `/`, `/a`, `/a/b`, and `/a/b/c`, in that order). If any of those
routes don't exist, it falls back to '/'.

As part of doing that, I:

 * Changed the default for MaterialApp.initialRoute to honor the
   actual initial route.

 * Added a MaterialApp.onUnknownRoute for handling bad routes.

 * Added a feature to flutter_driver that allows the host test script
   and the device test app to communicate.

 * Added a test to make sure `flutter drive --route` works.
   (Hopefully that will also prove `flutter run --route` works, though
   this isn't testing the `flutter` tool's side of that. My main
   concern is over whether the engine side works.)

 * Fixed `flutter drive` to output the right target file name.

 * Changed how the stocks app represents its data, so that we can
   show a page for a stock before we know if it exists.

 * Made it possible to show a stock page that doesn't exist. It shows
   a progress indicator if we're loading the data, or else shows a
   message saying it doesn't exist.

 * Changed the pathing structure of routes in stocks to work more
   sanely.

 * Made search in the stocks app actually work (before it only worked
   if we happened to accidentally trigger a rebuild). Added a test.

 * Replaced some custom code in the stocks app with a BackButton.

 * Added a "color" feature to BackButton to support the stocks use case.

 * Spaced out the ErrorWidget text a bit more.

 * Added `RouteSettings.copyWith`, which I ended up not using.

 * Improved the error messages around routing.

While I was in some files I made a few formatting fixes, fixed some
code health issues, and also removed `flaky: true` from some devicelab
tests that have been stable for a while. Also added some documentation
here and there.
2017-06-23 14:58:29 -07:00
Ian Hickson 59524c697b Slightly improve comments in SliverMultiBoxAdaptorElement (#10939)
I got a bit confused by these comments when trying to debug this code,
let's try clearing them up a little.
2017-06-23 14:58:14 -07:00
Ian Hickson df1a01b3b3 Add documentation. Also, add constructors to SliverGrid. (#10904) 2017-06-23 14:36:58 -07:00
Jason Simmons 856115b7e2 Clear the selection when a text widget loses focus (#10938)
Fixes https://github.com/flutter/flutter/issues/10911
2017-06-23 14:22:13 -07:00
Todd Volkert 128967cd2a Bump Dart SDK version to 1.24.0 (stable) (#10931)
https://github.com/flutter/flutter/issues/10650
2017-06-23 14:08:34 -07:00
Todd Volkert f18083d448 Print ADB output when adb install fails (#10933)
Fixes #10929
2017-06-23 14:08:07 -07:00
Jacob Richman 8f07a5864b Add hasAGoodToStringDeep and equalsIgnoringHashCodes methods. (#10935)
* Add hasAGoodToStringDeep and equalsIgnoringHashCodes methods.

Methods simplify testing of toStringDeep calls and other cases where
methods return strings containing hash codes.
2017-06-23 14:07:09 -07:00
Chris Bracken f4f81e9ac7 Require Xcode >= 8.0 for iOS development (#10932)
This allows us to take advantage of improved command-line tooling (e.g.,
improvements in device listing in Instruments). Now that the engine is
built with Xcode 8 and the framework is tested against Xcode 8, this
reduces the set of configurations we need to support to allow us to
focus on the supported ones: Xcode 8 and Xcode 9.
2017-06-23 14:07:01 -07:00
Ian Hickson f4e4b93c1f Clarify image-related services docs (#10815)
...and make one of the comments accurate by fixing the code. Turns
out I forgot to add the 'silent' argument when I changed that comment.
2017-06-23 14:06:30 -07:00
Ian Hickson ba520e7078 Some clarifications for ListView constructors (#10907) 2017-06-23 14:06:18 -07:00
Chris Bracken 9a6a3e1e27 Delete unnecessary print statement (#10937)
This print statement provides no value to the user.
2017-06-23 14:06:10 -07:00
Todd Volkert c79e25c5a7 Stop uploading coverage and docs until dl.google.com issue is resolved (#10941)
https://github.com/flutter/flutter/issues/10940
2017-06-23 13:40:38 -07:00
Zachary Anderson 09bdab201d [fuchsia_reload] Use ssh instead of netcp/netruncmd (#10436) 2017-06-22 22:08:20 -07:00
Yegor 0426fb60b9 upgrade package:usage to get clientId fix (#10919)
The upstream fix is: 021664efd3
2017-06-22 17:57:59 -07:00
Hans Muller da4950cf18 Wait for the driver test to settle before collecting screenshots (#10916) 2017-06-22 16:46:35 -07:00
Hans Muller b55441a027 Do not require main asset files if variants are provided (#10901) 2017-06-22 16:45:57 -07:00
Zachary Anderson 4d490666b3 Clean up pre-existing DevFS during creation (#10843) 2017-06-22 09:48:31 -07:00
xster 02245234b6 Save development certificate choice (#10849) 2017-06-21 17:22:13 -07:00
Jason Simmons 265257ab6d Increment dev version numbers (#10897) 2017-06-21 15:33:22 -07:00
Jason Simmons d36e2f6191 Update versions for an alpha release (#10896) 2017-06-21 15:09:10 -07:00
Jason Simmons c78bfc5625 Roll engine (#10892) 2017-06-21 14:40:49 -07:00
P.Y. Laligand c12b184dc3 Add missing context bits to Fuchsia tools. (#10891) 2017-06-21 14:03:13 -07:00
Devon Carew 963b90edf0 send the FLUTTER_HOST env var as analytics' app installer ID (#10889) 2017-06-21 13:02:40 -07:00
Seth Ladd b231006ce7 analytics expects a format of cd<integer> for custom dimensions (#10864) 2017-06-21 10:54:37 -07:00
Jacob Richman 595cd23c8c Change all occurrences of '$runtimeType#$hashCode' to use the describeIdentity (#10888)
* Revert "Revert "Change all ocurrences of '$runtimeType#$hashCode' to use the idAndType method. (#10871)" (#10880)"

This reverts commit ceb814aa64.
2017-06-21 10:47:06 -07:00
Alan 95f5d8d7f2 Implement Matrix4Tween.lerp() (#10829) 2017-06-21 09:40:32 -07:00
jcollins-g 3f3a36787e Update dartdoc to 0.13.0+1 for flutter (#10863) 2017-06-21 08:01:26 -07:00
Jacob Richman ceb814aa64 Revert "Change all ocurrences of '$runtimeType#$hashCode' to use the idAndType method. (#10871)" (#10880)
This reverts commit d46e208b98.
2017-06-20 22:14:59 -07:00
Jacob Richman d46e208b98 Change all ocurrences of '$runtimeType#$hashCode' to use the idAndType method. (#10871)
* Change all instances of '$runtimeType#$hashCode' to use the describeIdentity method.

The describeIdentity method generates a shorter description with a consistent length
consisting of the runtime type and the a 5 hex character long truncated
version of the hash code.
2017-06-20 18:13:28 -07:00
Michael Goderbauer 8b888e6a12 Apply tempalte changes to examples (#10865) 2017-06-20 15:27:00 -07:00
Brian Slesinsky f01e9418fc change --machine flag for flutter test to report test progress as JSON (#10848)
(The Flutter plugin will use this to update the UI with test progress.)
2017-06-20 14:40:42 -07:00
Michael Goderbauer 2f979914e4 Update templates to include google's maven repository (#10842)
Going forward, Android support libraries are published on maven (instead of bundling them with the SDK). Many plugins depend on these. To avoid requiring plugin users to add the maven repository to their app this change adds the repository to the template for `flutter create`.

This also bumps the support-annotations dependency to 25.4.0 (which also requires the new maven repository).
2017-06-20 12:43:23 -07:00
Jason Simmons 2052741ab3 Use a lookup table to calculate the number of days in a month (#10860)
Fixes https://github.com/flutter/flutter/issues/10541
2017-06-20 11:32:40 -07:00
jcollins-g 5fee9789e2 Add version information to dartdoc footer (#10844)
* Add version information to dartdoc footer

* Add final to variable declaration

* Drop toString()
2017-06-20 11:27:37 -07:00
Michael Goderbauer 0e1b652d53 Make Demos in flutter_gallery more accessible (#10832)
Remaining known issues are #10831 and #10830.
2017-06-20 11:09:57 -07:00
Chris Bracken 7d16a96500 Roll engine to fffe502d437ac7931f08c6cef3e3f71fbd36adaa (#10859) 2017-06-20 10:47:07 -07:00
Jason Simmons 1be406b1b5 Move the discovered Java installation to the front of PATH when running sdkmanager (#10846)
Fixes https://github.com/flutter/flutter/issues/10703
2017-06-20 09:53:01 -07:00
Ian Hickson 6d32b33997 Text selection handles track scrolled text fields (#10805)
Introduce CompositedTransformTarget and CompositedTransformFollower
widgets, corresponding render objects, and corresponding layers.

Adjust the way text fields work to use this.

Various changes I needed to debug the issues that came up.
2017-06-20 09:35:15 -07:00
Hans Muller 40db1e4bc6 Added InputDecoration helperText, helperStyle (#10852) 2017-06-20 09:33:26 -07:00
Seth Ladd b471a9cffc send channel name as a custom dimension (#10814)
* send channel name as a custom dimension

* tweaks from review

* remove unused import
2017-06-20 08:20:57 -07:00
Devon Carew c14470e0c7 dont' validate against webstorm (#10828) 2017-06-20 06:46:43 -07:00
Ian Hickson 409414265e Sample code for dialogs. (#10812) 2017-06-19 21:10:58 -07:00
Chris Bracken 58fe8237d2 Use Xcode instruments for devicelab device lookup (#10840)
Replace use of ideviceinfo in devicelab tests with Xcode instruments
lookup.
2017-06-19 14:44:42 -07:00
Chris Bracken 400a62d121 Eliminate use of ideviceinfo in flutter_tools (#10804)
This libimobiledevice tool is no longer used anywhere in the flutter_tools codebase.
2017-06-19 13:36:05 -07:00
Chris Bracken 1d9f009579 Re-enable use of instruments for iOS device lookup (#10838)
This reverts commit b2909a245a.

This resubmits the following patches:

1. Use Xcode instruments to list devices (#10801)
Eliminates the dependency on idevice_id from libimobiledevice. Instead,
uses Xcode built-in functionality.

2. Make device discovery asynchronous (#10803)
Migrates DeviceDiscovery.devices and all device-specific lookup to be
asynchronous.
2017-06-19 13:14:57 -07:00
Jason Simmons f8c4a6e0d6 Defer the animation of text fields to the caret position (#10782)
Fixes https://github.com/flutter/flutter/issues/10681
2017-06-19 11:38:42 -07:00
Ian Hickson 95eba52eea Define some annotations for generating the widget catalog. (#10816) 2017-06-19 10:37:47 -07:00
Ian Hickson cf9303903c Roll engine (#10808) 2017-06-19 09:51:36 -07:00
Jason Simmons cfa0a2dbbd Look for APKs at the path used by Android Gradle plugin 3.0 (#10798)
Fixes https://github.com/flutter/flutter/issues/10630
2017-06-19 09:37:39 -07:00
Luke Church 4b707c194f Change for consideration: URL for plugin text (#10720) 2017-06-18 21:18:36 +02:00