Commit Graph

1942 Commits

Author SHA1 Message Date
Alexandre Ardhuin
8a88e2efca Bump Dart SDK to 1.25.0-dev.9.0 (#11509)
* Bump Dart SDK to 1.25.0-dev.9.0

* add link to sdk bug
2017-08-09 14:45:55 +02:00
Michael Goderbauer
b551f53471 Don't trigger an assert when markNeedsSemanticsUpdate is called multiple times in edge cases (#11544)
* Don't trigger assert if a render object ceases to be a semantic boundary

This bug was exposed by https://github.com/flutter/flutter/pull/11309, which caused the following assertion to trigger when scrolling in the Animation demo:

```
The following assertion was thrown during _updateSemantics():
'package:flutter/src/rendering/object.dart': Failed assertion: line 2626 pos 16: 'fragment is
_InterestingSemanticsFragment': is not true.
```

A minimal reproduction of the bug can be found in `semantics_10_test.dart`, which has been added as a regression test for the bug by this PR.

Looking at that test, here is a description of the faulty behaviour:
1. During the second `pumpWidget` call `RenderExcludeSemantics` marks itself as needing a semantics update (due to excluding going from `false` -> `true`).
2. This causes the nearest ancestor with semantics information (here: `RenderSemanticsAnnotations` representing the "container" Semantics widget) to be added to the `_nodesNeedingSemantics` list.
3. `RenderSliverList` (implementation behind ListView) marks itself as needing a semantics update (due to its changing children).
4. This causes the `RenderSemanticsGestureHandler` to be added to the `_nodesNeedingSemantics` list.
5. Next, canDrag is updated from `true` -> `false`. This means, `RenderSemanticsGestureHandler` is no longer a semantics boundary, it marks itself as needing a semantics update.
6. The nearest ancestor with semantics (`RenderSemanticsAnnotations`, the "container") is added to the `_nodesNeedingSemantics` list (this is a no-op because it is already in the list).
7. During `flushSemantics`, the `_nodesNeedingSemantics` list is walked. The first entry (`RenderSemanticsAnnotations`) updates the semantics tree to only contain the container widget and drop everything else (= no children of the ExcludeSemantics widget are walked).
8. The second entry (`RenderSemanticsGestureHandler`) is updated. It does not add any semantics of its own and is no longer a semantics boundary. Therefore, it wants to merge its descendent semantics into its parents. Here is where the assert throws because the algorithm assumes that every entry in the `_nodesNeedingSemantics` list will produce and own an `_InterestingSemanticsFragment` (passing your semantics on to your parents is not interesting).

The problem here seems to be step 4 in combination with step 5. In step 4 we rely on the fact that `RenderSemanticsGestureHandler` is an (explicit or implicit) semantics boundary and that it will be able to absorb the semantics change of `RenderSliverList`. This is true
at this time. However, in step 4 `RenderSemanticsGestureHandler` decides to no longer be an (explicit or implicit) semantics boundary and our assumption from step 5 becomes incorrect. We did nothing to correct this assumption.

This PR removes a node, that could potentially cease to be a (explicit or implicit) semantics boundary from the `_nodesNeedingSemantics` list to fix that problem. Please node that this does not mean that the node's semantics will not be updated: The node's closest ances
tor with semantics is added to that list during the `markNeedsSemanticsUpdate` call. During `flushSemantics` we will walk from this node to update the semantics of it's children (if changed), which will include the node in question.

* tiny fix

* simplify test

* analyzer fixes

* review comments
2017-08-08 14:17:20 -07:00
Jaime Wren
dbd3bf28e6 Replace FLUTTER_MODULE_TYPE with WEB_MODULE in dev/manual_tests/* and examples/* iml files (#11234) 2017-08-07 15:53:56 -07:00
Chris Bracken
cb14eb989d Update IntelliJ project files for latest plugin (#11536)
The most recent Flutter IntelliJ plugin replaces FLUTTER_MODULE with
WEB_MODULE and eliminates the exclusion of packages/ directories.
Use of the packages/ directory was turned off by default months ago, and
is replaced by the .packages file.
2017-08-07 12:19:25 -07:00
Jacob Richman
93a98327a8 Add Diagnosticable base class and add documentation. (#11458)
Add Diagnosticable base class and documentation
2017-08-03 09:49:44 -07:00
Jacob Richman
9f510ebdc9 Refactor RenderObject.toStringDeep and Widget.toStringDeep code to use DiagnosticsNode (#11359)
Refactor RenderObject.toStringDeep and Widget.toStringDeep code to use DiagnosticsNode.
2017-07-25 09:25:13 -07:00
Michael Goderbauer
6ac0f61234 Gallery: remove unused code and a11y fix (#11209) 2017-07-14 14:44:11 -07:00
Michael Goderbauer
cb35a1c728 Tiny a11y fix for Gallery (#11187) 2017-07-13 09:50:37 -07:00
Alexandre Ardhuin
f2809423cd fix examples/layers/widgets/gestures.dart (#11138)
* fix examples/layers/widgets/gestures.dart

* use a list of colors to avoid error prone in elseif

* address review comments

* add tests

* keep index to lower complexity

* address review comments
2017-07-13 09:16:03 +02:00
Todd Volkert
77da737847 Bump intl to 0.15.1 (#11162)
* requires bumping `process` to a version that has
  relaxed version restrictions on `intl`

https://github.com/flutter/flutter/issues/10650
2017-07-11 21:11:26 -07:00
Michael Goderbauer
792c98751f a11y fix for list_demo.dart (#11142)
* a11y fix for list_demo.dart

* fix semantics of persistant bottom sheet
2017-07-10 17:37:21 -07:00
Yegor
18d9b20ffb add Android instrumentation test (#11063)
* add Android instrumentation test

* add devicelab test

* add to manifest.yaml

* rename _smoke_test.dart to _smoketest.dart to prevent flutter test from picking it up

* volatile fields; style fixes

* use ConditionVariable; fix sh script
2017-07-10 17:20:49 -07:00
Hans Muller
e5009e8827 Updated sample catalog templates and app summaries (#11052) 2017-06-30 10:29:59 -07:00
Hans Muller
3d6e36d056 Updates Sample Catalog v0.0 (#11022) 2017-06-29 10:44:45 -07:00
Mikkel Nygaard Ravn
1731a16d81 Make consistent use of gradle wrapper (#10993) 2017-06-29 09:48:01 +02: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
Hans Muller
da4950cf18 Wait for the driver test to settle before collecting screenshots (#10916) 2017-06-22 16:46:35 -07:00
Michael Goderbauer
8b888e6a12 Apply tempalte changes to examples (#10865) 2017-06-20 15:27:00 -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
Hans Muller
40db1e4bc6 Added InputDecoration helperText, helperStyle (#10852) 2017-06-20 09:33:26 -07:00
Todd Volkert
4739159eff Allow transitions_perf_test.dart to be run using package:test (#10725)
package:test does not allow main() methods to have required
arguments - changing to an optional positional arguments list
fixes this.
2017-06-15 10:15:56 -07:00
Hans Muller
ede575a92e Refactor sample catalog screenshot production (#10676) 2017-06-14 09:05:53 -07:00
Michael Goderbauer
e2d4f9242e Benchmark for semantic overhead during transitions (#10678)
* Benchmark for semantic overhead during transitions

* review comments
2017-06-14 08:09:05 -07:00
gspencergoog
9f344b695d Adds prefix and suffix support to TextField, per Material Design spec. (#10675)
* Prefix and Suffix support for TextFields

* Adding Tests

* Removing spurious newline.

* Fixing a small problem with the test

* Review Changes
2017-06-13 19:17:04 -07:00
Brian Slesinsky
3528cd6f2d flutter test: add --machine flag (#10520)
Currently this just prints the observatory URL as a JSON event.
Refactored the code to make this fit in.
2017-06-13 13:26:32 -07:00
Ian Hickson
a9f1cb8c0a More documentation (#10606)
- How do you handle a tap on text?
- Why is AnimatedOpacity expensive?
- Why would you use a gesture arena team?
...and other minor fixes
2017-06-12 16:53:01 -07:00
Ian Hickson
9ac16680d2 Analyze sample code (#10619) 2017-06-12 16:52:35 -07:00
Hans Muller
0e4dda7736 Improved support for saving and restoring the scroll offset, etc V2 (#10590) 2017-06-08 17:20:36 -07:00
Alexandre Ardhuin
1eaefe1837 more const for immutables (#10563) 2017-06-08 22:04:18 +02:00
Ian Hickson
6ccc618abd Revert "Improved support for saving and restoring the scroll offset, etc (#10517)" (#10575)
This reverts commit c8e4cbf27d.
2017-06-07 18:51:28 -07:00
Alexandre Ardhuin
7d71326363 apply prefer_asserts_in_initializer_list lint (#10540) 2017-06-07 21:39:47 +02:00
Hans Muller
c8e4cbf27d Improved support for saving and restoring the scroll offset, etc (#10517) 2017-06-06 12:11:21 -07:00
Hans Muller
1b29312ad2 Upload sample catalog screenshots to cloud storage (#10462) 2017-06-05 12:53:27 -07:00
Mikkel Nygaard Ravn
c63ac6b33a Upgrade to new template (#10374) 2017-06-01 22:09:28 +02:00
Ian Hickson
ccad2849e7 Docs for menus (#10396)
Also, clean up the menus code a bit.

Also, make it easier to write a PopupMenuEntry that has itself many
items (for example, the way Chrome's menu has icons in a row).
2017-05-31 10:48:49 -07:00
Sarah Zakarias
d14bb2cdfc Add example showing full-screen iOS/Android view from Flutter (#10386) 2017-05-30 13:28:30 +02:00
Mikkel Nygaard Ravn
178f446d71 Add generated plugin registry (#10375) 2017-05-29 14:10:29 +02:00
Mikkel Nygaard Ravn
6f8107756d Use new project template (#10376) 2017-05-29 14:05:53 +02:00
Yusuke Konishi
6bff133923 Fixed example README link (#10369) 2017-05-28 21:44:38 -07:00
Ian Hickson
f50caddfbd Much work on the documentation (#10331)
Minor fixes throughout, e.g. removing trailing commas from the end of sample code expressions, changing headings to "sample code" more consistently, removing stale todos, fix typos in a private method name, minor grammar fixes, added some clarifications to CircularProgressIndicator, LinearProgressIndicator, CrossAxisAlignment, added some cross-references to various members, made it slightly clearer that layout algorithms are implementation details.

Clarified "elevation" throughout.

Added docs to InkResponse and InkWell.

Added sample code for: SliverAppBar, Card, ListTile, EdgeInsets, Row, Column, CustomScrollView, ListView, SliverFixedExtentList, and SliverGrid.

Fixes #10317.
Fixes #10316.
Fixes #10267. (sort of, see comment therein)
Fixes #9331. (sort of, see comment therein)
Fixes #9407. (sort of, see comment therein)
2017-05-26 17:15:09 -07:00
Jason Simmons
e913a51c47 Update Gallery's GeneratedPluginRegistrant to the latest template (#10349)
See https://github.com/flutter/flutter/pull/10259
2017-05-26 11:37:06 -07:00
Hans Muller
77c07871b4 Updated sample app production device labs task (#10326) 2017-05-25 13:49:31 -07:00
Hans Muller
3bb76961f6 Fix the devicelab task that generates sample catalog app screenshots, etc (#10324) 2017-05-25 12:52:29 -07:00
Hans Muller
b4e41ff7d3 Add a devicelab task that generates sample app screenshots, etc (#10303) 2017-05-25 11:47:36 -07:00
Mikkel Nygaard Ravn
7156fc054e Update hello_world example to new template (#10287) 2017-05-24 10:59:58 +02:00
xster
437d4ab1c6 Delete the partial pod remains in examples/layer (#10187) 2017-05-23 18:05:16 -07:00
Hans Muller
e3ae11e879 Updated example gitignore files per the flutter create template (#10251) 2017-05-22 10:31:50 -07:00
Hans Muller
2a140a7752 Sample Catalog page/screenshot production (#10212) 2017-05-22 08:09:15 -07:00
Ian Hickson
cd6e3b1ac2 CheckboxListTile, RadioListTile, SwitchListTile (#10160) 2017-05-19 08:46:17 -07:00
Chris Bracken
2da63e4657 Update example project .gitignores to latest template (#10188)
Under android/ directory, ignore:
GeneratedPluginRegistrant.java

Under ios/ directory, ignore:
GeneratedPluginRegistrant.h
GeneratedPluginRegistrant.m
Pods/
2017-05-18 18:09:51 -07:00
Ian Hickson
61c56ba15f Make Slider take up whatever space it has. (#10132)
Previously it was (arbitrarily?) set to 144.0 pixels wide.
2017-05-17 14:31:55 -07:00
Ian Hickson
6ffcadfa38 Remove the slider from the Icon demo page (#10134)
The slider never really made much sense and it violated UX guidelines.

https://github.com/flutter/flutter/issues/4147
2017-05-16 19:34:50 -07:00
stevemessick
cc91b159c0 Fix typo (#10111) 2017-05-16 10:19:21 -07:00
Ian Hickson
ce2c834f70 Adjust the tests to handle a higher-DPI test harness. (#10056)
Requires https://github.com/flutter/engine/pull/3688
2017-05-15 16:47:14 -07:00
Jason Simmons
e65d47d4ba Update Gallery primary swatch colors in order to select the intended text color (#10090) 2017-05-15 12:40:20 -07:00
Hans Muller
ceab6f9784 Added some simple AppBar examples to the sample catalog (#9912) 2017-05-15 10:02:39 -07:00
Jason Simmons
91b1a07656 Framework support for checkerboardOffscreenLayers (#10054)
See https://github.com/flutter/flutter/issues/9473
2017-05-12 14:41:07 -07:00
Hans Muller
09e8c2ffb0 Update ExpansionTile, added a sample app (#10019) 2017-05-12 09:11:00 -07:00
Adam Barth
ff0aa51326 Update gallery assets (#9957)
The new assets have been optipng'ed.
2017-05-11 23:28:25 -07:00
xster
81ec553fb6 More Cupertino dialog UI tweaks (#9960)
* is default

* hit target

* correct test name

* review note
2017-05-10 18:59:50 -07:00
Alexandre Ardhuin
9b56c1c58c enable always_put_control_body_on_new_line lint (#9950) 2017-05-10 09:41:55 +02:00
Alexandre Ardhuin
e4546584d1 enable always_require_non_null_named_parameters lint (#9948)
* enable always_require_non_null_named_parameters lint

* Update home.dart
2017-05-10 08:45:36 +02:00
Chris Bracken
60f5ae8e77 Add const non-null asserts where required (#9945)
Also includes minor doc fixes.
2017-05-09 21:15:42 -07:00
Hans Muller
1157812bb9 Added ExpansionTile and deprecated TwoLevelList et al (#9938) 2017-05-09 16:32:01 -07:00
Michael Thomsen
fb8214849e Small update to readme (#9930) 2017-05-09 21:29:28 +02:00
Michael Thomsen
5cec108023 Roll android build tools to 25.0.3 (#9922)
* Roll android build tools to 25.0.3

* Roll android build tools to 25.0.3 in templates
2017-05-09 18:58:46 +02:00
Sarah Zakarias
ee6cd679c8 More use of url_launcher plugin in Flutter Gallery (#9836) 2017-05-09 15:05:23 +02:00
Sarah Zakarias
4e3a4ce830 Update Flutter Gallery to new plugin registry (#9914) 2017-05-09 14:00:06 +02:00
Sarah Zakarias
2dd26a93a5 Revert "Revert plugin use in gallery (#9838)" (#9913)
This reverts commit 4bbf158b6a.
2017-05-09 11:49:03 +02:00
Michael Thomsen
a625d3e140 Revert "Upgrade to most recent android build tools version (#9878)" (#9888)
This reverts commit 5ed2984e75.
2017-05-08 20:33:12 +02:00
Michael Thomsen
5ed2984e75 Upgrade to most recent android build tools version (#9878) 2017-05-08 20:12:32 +02:00
Ian Hickson
3012cce146 Clean up Tween and friends. (#9858) 2017-05-08 10:42:06 -07:00
Hans Muller
a6eb0a3e38 Gallery animation demo back button update (#9853) 2017-05-08 10:13:13 -07:00
Andrew Wilson
f752cd3844 Add url_launcher dependency to BUILD.gn. (#9886) 2017-05-08 09:53:41 -07:00
Ian Hickson
a5894fca82 Revert "Revert "Revert plugin use in gallery (#9838)"" (#9883)
* Revert "Update reference to url_launcher plugin in Gallery pubspec (#9879)"

This reverts commit 96a04dea0d.

* Revert "Revert "Revert plugin use in gallery (#9838)" (#9877)"

This reverts commit ede72a8043.
2017-05-08 09:42:23 -07:00
Ian Hickson
f3c60eaf5a Revert "Update reference to url_launcher plugin in Gallery pubspec (#9879)" (#9885)
This reverts commit 96a04dea0d.
2017-05-08 09:42:06 -07:00
Sarah Zakarias
96a04dea0d Update reference to url_launcher plugin in Gallery pubspec (#9879) 2017-05-08 15:24:52 +02:00
Sarah Zakarias
ede72a8043 Revert "Revert plugin use in gallery (#9838)" (#9877)
This reverts commit 4bbf158b6a.
2017-05-08 13:32:41 +02:00
Brian Slesinsky
60c6ecc79f add Dart_SDK project library to examples that don't have them (#9847)
This ensures that when someone opens the project using IDEA,
the Flutter plugin will find the location of the Flutter SDK
and run "flutter packages get".
2017-05-05 19:14:58 -07:00
P.Y. Laligand
8cef5232d5 Use the correct set of options to analyze Flutter packages. (#9758)
This affects the Fuchsia build which will soon run analysis by default.
2017-05-05 17:18:58 -07:00
Hans Muller
3681aee5a4 Selectively enable page scrolling in the gallery animation demo (#9845) 2017-05-05 16:02:25 -07:00
Sarah Zakarias
4bbf158b6a Revert plugin use in gallery (#9838)
* Revert "add Podfile (#9835)"

This reverts commit 74e656752c.

* Revert "update ref to url_launcher plugin in Flutter Gallery (#9833)"

This reverts commit 30c49781c5.

* Revert "Use url_launcher plugin in Flutter Gallery (#9751)"

This reverts commit 02dfd6be53.
2017-05-05 14:14:33 +02:00
Sarah Zakarias
74e656752c add Podfile (#9835) 2017-05-05 12:59:01 +02:00
Sarah Zakarias
30c49781c5 update ref to url_launcher plugin in Flutter Gallery (#9833) 2017-05-05 11:37:27 +02:00
Sarah Zakarias
02dfd6be53 Use url_launcher plugin in Flutter Gallery (#9751) 2017-05-05 10:48:46 +02:00
Chris Bracken
07b1f7f744 Update Hello World plugin integration (#9825)
Enable plugin infra for both iOS and Android post-#9791.
2017-05-04 19:24:41 -07:00
Chris Bracken
8feda573cb Update Stocks plugin integration (#9824)
Enable plugin infra for both iOS and Android post-#9791.
2017-05-04 19:14:04 -07:00
Chris Bracken
28feba043f Update Gallery plugin integration (#9823)
Enable plugin infra for both iOS and Android post-#9791.
2017-05-04 19:02:00 -07:00
Chris Bracken
3d72406263 Migrate Catalog example to latest template (#9793) 2017-05-04 15:10:54 -07:00
Hans Muller
6d8930e4d6 Animation demo scrolling (#9804) 2017-05-04 11:13:36 -07:00
Chris Bracken
961da5a3bc Move platform_channel_swift example to latest template (#9786) 2017-05-03 17:02:43 -07:00
Hans Muller
cddf06cf26 Added scroll snapping to the gallery animation demo (#9710) 2017-05-03 16:35:28 -07:00
Chris Bracken
461054687e Move platform_channel example to latest template (#9777) 2017-05-03 15:27:26 -07:00
Chris Bracken
eacf793b35 Use default FlutterActivity in non-plugin examples (#9770)
Brings hello_world and flutter_gallery Android code in line with the
corresponding iOS code.
2017-05-03 14:20:17 -07:00
Chris Bracken
126cf49d26 Migrate Stocks example to latest template (#9762) 2017-05-03 13:00:38 -07:00
Kyle Bradshaw
b5671f1b22 Gallery Cupertino Dialog demo snackbar fix (#9764)
Fixes #9757
2017-05-03 12:29:45 -07:00
Jason Simmons
b586a97ad2 Enable physical model shadows (with animation) and change elevation to a double (#9756)
Fixes https://github.com/flutter/flutter/issues/9342
2017-05-03 12:11:01 -07:00
Chris Bracken
1dc2d4eb43 Migrate Gallery demo to latest template (#9730) 2017-05-02 14:05:53 -07:00
Ian Hickson
89856c0e5b Adjust the defaults behaviour of scroll views. (#9679)
* Adjust the defaults behaviour of scroll views.

Now, primary scroll views scroll by default. Others only scroll if necessary.

* apply suggested changes
2017-05-02 09:14:50 -07:00
xster
1a4bf9b66d Fix flutter view project's automated tests (#9712)
Remove checked in .lock, remove checked in cocoapods scripts in xcode project, let the automated test run pod install specifically for this test
2017-05-01 18:23:06 -07:00