6420 Commits

Author SHA1 Message Date
Ian Hickson
7ba1879bfc Automatic silver keep alive (#11067)
* AutomaticKeepAlive

A Widget that listens for notifications from widgets that don't want to die.

* Automatically wrap SliverList and SliverGrid children in AutomaticKeepAlive widgets

* Fixes for review comments
2017-07-01 14:16:36 -07:00
Chris Bracken
1438ae85a3 Skip snapshot build if inputs are unchanged (#11047)
Previously, the snapshot file was recomputed on every build. We now
record checksums for all snapshot inputs (which are catalogued in the
snapshot dependencies file output alongside the snapshot) and only
rebuild if the checksum for any input file has changed.
2017-06-30 16:09:48 -07:00
Jason Simmons
eb668c3f64 Keep text selection ranges within the length of the text (#11055)
Fixes https://github.com/flutter/flutter/issues/11041
2017-06-30 14:50:11 -07:00
Ian Hickson
2c4ec1c9c2 Avoid self-referential imports. (#11045)
And add a test to verify we don't do this again.
2017-06-30 14:42:22 -07:00
Todd Volkert
f02e9acc33 Add known physical device that would otherwise look like an emulator (#11056)
https://github.com/flutter/flutter/issues/10203
2017-06-30 13:48:24 -07:00
Chris Bracken
c1c1522591 Make _createSnapshot private, depfilePath required (#11054)
* Only one call to createSnapshot exists, and it's in the same library.

* Eliminate conditional logic around the presence of depfilePath, the
  only existing call always passes a non-null depfilePath.
2017-06-30 12:48:12 -07:00
xster
c1e3b75cc2 Verbose cocoapods output if error or flutter is verbose (#11048)
* Output verbose cocoapods output when pod install has an error or if flutter build/run is in -v

* remove repeated stdout
2017-06-30 11:17:48 -07:00
Jacob Richman
9dab22684a More toStringDeep and toString tests. (#11028) 2017-06-29 18:57:21 -07:00
Brian Slesinsky
6841ab22be Add --name and --plain-name to 'flutter test' (#11020)
This adds a way to run only a subset of the tests.
(The new flags do the same thing as 'pub run test'.)
2017-06-29 17:26:19 -07:00
xster
0a915d6faf let the year picker start at the current date instead of the first date (#11042) 2017-06-29 17:13:36 -07:00
Devon Carew
94e14f0c5a increase the timeout for service discovery (#10965)
* increase the timeout for service discovery

* remove the timeout for discovering service ports
2017-06-29 14:35:20 -07:00
xster
be228eae78 Add a dev mode doctor check (#11023) 2017-06-29 11:54:18 -07:00
Michael Thomsen
0f726490e1 Update MainActivity.kt.tmpl (#11033)
Remove terminating semicolons; they are causing an "code inspection warning" in Android Studio:

```
This inspection reports redundant semicolon (';') token which is not required in Kotlin and may be removed.
```
2017-06-29 16:38:25 +02:00
Mikkel Nygaard Ravn
021a9ee2a2 Fix bug in prev commit (#11030) 2017-06-29 12:19:45 +02:00
Mikkel Nygaard Ravn
030abfd49a Provide user feedback on slow Gradle operations (#11015) 2017-06-29 11:54:03 +02:00
Mikkel Nygaard Ravn
a106f504c7 Make flutter drive await app reinstall (#11029) 2017-06-29 11:23:27 +02:00
Mikkel Nygaard Ravn
1731a16d81 Make consistent use of gradle wrapper (#10993) 2017-06-29 09:48:01 +02:00
Ian Hickson
5279563071 Keep-alive for widgets in lazy lists (#11010) 2017-06-28 14:06:40 -07:00
xster
57746f38c0 Guess sign iOS with the first certificate when running in machine mode (#10870)
* Guess sign with the first certificate when multiple are available in machine mode

* review
2017-06-28 13:33:14 -07:00
Chris Bracken
a41e354a55 Emit CocoaPods output if pod install fails (#11018)
In the case where the CocoaPods 'pod install' step fails, emit its
stdout to provide any potentially-useful error messages to the user.
2017-06-28 11:58:06 -07:00
Ian Hickson
cb4a54db8f The documentation will continue until morale improves (#10978) 2017-06-27 16:19:59 -07:00
Jacob Richman
76a50fe0ca Switch existings tests to use equalsIgnoringHashCodes and add more tests. (#10954)
* Switch existings tests to use equalsIgnoringHashCodes and add more tests.
2017-06-27 10:44:35 -07:00
Jacob Richman
70d3a62125 Use defaultTargetPlatform instead of Platform.operatingSystem for ImageProvider. (#10986)
* Use defaultTargetPlatform instead of Platform.operatingSystem for ImageProvider.
Add convenience helper to make it easier to display a short string for
an enums value.

* Add comment linking to issue.
2017-06-27 09:13:35 -07:00
Chris Bracken
bb732b4655 Add tests for xcodeVersionSatisfactory (#10981)
And fix a typo in a test description.
2017-06-26 14:34:44 -07:00
Chris Bracken
e04907a48b Ensure Xcode major, minor version always return non-null (#10980)
Previously, xcodeMajorVersion and xcodeMinorVersion returned null unless
xcodeVersionSatisfactory had been called first. We now compute them on
demand, and cache the resultant values.
2017-06-26 13:37:59 -07:00
Chris Bracken
5141c1e8e9 Add test for unknown Xcode version string (#10979)
Also, correct an existing test description.
2017-06-26 13:11:49 -07:00
Ian Hickson
dbb734ddb5 More documentation. (#10953)
Applies comments I missed from https://github.com/flutter/flutter/pull/10904.
2017-06-26 12:05:49 -07:00
gspencergoog
ddf25d23fe Enabling StrokeJoin for paths and rectangles. (#10742)
* Prefix and Suffix support for TextFields

* Adding Tests

* Removing spurious newline.

* Fixing a small problem with the test

* Code review changes

* Code Review Changes

* Review Changes

* Export the new StrokeJoin enum

* Added example for line styles, and enabled line join styles.

* Reverting inadvertent change to main.dart.

* Updated due to code review of engine code

* Removed example.
2017-06-26 11:26:46 -07:00
Mikkel Nygaard Ravn
c5999c74c0 Add gradle wrapper to project template (#10928) 2017-06-26 12:47:43 +02:00
Devon Carew
f946171817 update our build bot exclusions (#10964) 2017-06-25 21:17:39 -07:00
Chris Bracken
2ebb9e5dc6 Use ProcessManager for Xcode tool invocations (#10955)
1. Run all Xcode tool invocations through ProcessManager, which allows
us to mock out failures, etc. for tests.

2. Add said tests.
2017-06-23 18:50:27 -07:00
Ian Hickson
d131a8df42 Fix --keep-app-running default and make devicelab verboser (#10957) 2017-06-23 18:09:37 -07:00
Chris Bracken
845c1b7f01 Re-land Lazily initialise Xcode installation status (#10952)
This reverts commit 3e265e9e423392373a171be3d1303ebca1f4c7a4.

Rather than pre-compute Xcode install path, version, and EULA status,
compute and cache on demand.
2017-06-23 16:58:14 -07:00
Chris Bracken
3e265e9e42 Revert "Lazily initialise Xcode installation status (#10945)" (#10951)
This reverts commit bb8e2a7ccd46f8c4855391d6884b2a87c95267f6.

Triggers a doctor failure on the Mac chromebots.
2017-06-23 16:08:36 -07:00
Chris Bracken
bb8e2a7ccd Lazily initialise Xcode installation status (#10945)
Rather than pre-compute Xcode install path, version, and EULA status,
compute and cache on demand.
2017-06-23 15:56:44 -07:00
Michael Goderbauer
fe40eed362 Provide haptic/acoustic feedback for tap & long-press on Android (#10920)
* Provide haptic/acoustic feedback for tap & long-press on Android

* review comments

* fixed example code

* review comments

* comment fix
2017-06-23 15:02:55 -07:00
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
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
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
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