959 Commits

Author SHA1 Message Date
Jacob Richman
9dab22684a More toStringDeep and toString tests. (#11028) 2017-06-29 18:57:21 -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
Ian Hickson
5279563071 Keep-alive for widgets in lazy lists (#11010) 2017-06-28 14:06:40 -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
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
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
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 ceb814aa647ecd310794a72a7a5c28820ec57a25.
2017-06-21 10:47:06 -07:00
Alan
95f5d8d7f2 Implement Matrix4Tween.lerp() (#10829) 2017-06-21 09:40:32 -07:00
Jacob Richman
ceb814aa64 Revert "Change all ocurrences of '$runtimeType#$hashCode' to use the idAndType method. (#10871)" (#10880)
This reverts commit d46e208b98d4af93d7029c3e806d443dd51fd116.
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
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
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
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
Jacob Richman
28fd54c116 move getTransformTo method from RenderBox to RenderObject. (#10430)
* move getTransformTo method from RenderBox to RenderObject.

* Cleanup comment. Add slivers test.
2017-06-16 23:54:27 -07:00
Jason Simmons
6965312822 Align doubles to 8 bytes in the StandardMessageCodec (#10758)
See https://github.com/flutter/flutter/issues/10701
2017-06-16 10:05:18 -07:00
xster
36c3a962c5 Create a CupertinoPageRoute (#10686)
* started copying stuff into cupertino page route

* extracted from material page route. Ready for testing

* works with button and gesture

* tests and docs

* review notes

* review notes
2017-06-14 23:33:14 -07:00
Hans Muller
7ada46677b TabPageSelector colors and indicatorSize (#10665) 2017-06-14 11:25:03 -07:00
Michael Goderbauer
7158646ba7 [accessibility] Announce index of tab in tab bar (#10664)
* [accessibility] Announce index if tab in tab bar

* added TODO
2017-06-14 08:08:24 -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
Michael Goderbauer
0774c5194b Add SemanticsNode.isSelected flag (#10610)
* Add SemanticsNode.isSelected flag

* Adds example usage to TabBar

See also https://github.com/flutter/engine/pull/3764

* Review comments

* whitespace fixes

* Fix doc ref and update engine roll
2017-06-13 10:51:17 -07:00
xster
e38f92df9a Create a CupertinoScaffold (#10543)
* works using pageview
it’s a bit heavy and scrolls
no documentation or test yet

* docs and tests

* more docs tweak

* revert drive by page view changes

* swap out the indexed stack for a custom thing

* layout everything on the cheap
tests pass

* add more tests

* move back to stack and add docs

* review notes

* build all the tabs once built
2017-06-12 22:48:51 -07:00
Anatoly Pulyaevskiy
bb119e95fa Make dividers one device pixel thick as defined in Material design spec (#10523)
* Make dividers one device pixel thick as defined in Material design spec

* Updated divider test to check stroke width

* Clarified dividers with 0 height in the docs

* Updated Divider.height docs according to PR feedback
2017-06-12 21:47:56 -07:00
Ian Hickson
d74a5883d9 Allow multi-line text fields with no line limit (#10576) 2017-06-12 21:47:31 -07:00
Hans Muller
123e9e013d Allow TabBars, TabBarViews, TabControllers, with zero or one tabs (#10608) 2017-06-12 15:44:33 -07:00
Hans Muller
dbaf12b8ad Do not read or write state if PageStorageKeys cannot be found (#10612) 2017-06-12 11:24:09 -07:00
Ian Hickson
0c2546c657 Factor out some common code in PaintingContext (#10607)
...and remove some highly specialised methods now that they can just
be implemented directly by the previous callers.
2017-06-09 16:50:55 -07:00
Hans Muller
09eba82a9e Add indicatorWeight, indicatorPadding to TabBar (#10600) 2017-06-09 15:06:03 -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
Jason Simmons
0a8713efe0 Do not apply scroll offset corrections with zero values during sliver list layout (#10574)
Fixes https://github.com/flutter/flutter/issues/10547
2017-06-08 15:57:59 -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 c8e4cbf27d58bec1342d0287f389926fa0e9d9a6.
2017-06-07 18:51:28 -07:00
perlatus
0cef0aaf35 Check for initialRoute before Navigator.defaultRouteName (#10216)
* Check for initialRoute before Navigator.defaultRouteName

* Default initialRoute to Navigator.defaultRouteName

* Take suggestions from code review

* Add test for old and new routes behavior

* Revert "Add test for old and new routes behavior"

This reverts commit 282fb64b165ed532583e9a5d2e4debe29469fba4.

* Retry: without dartfmt, with dartanalyzer

* Rename tests, check the routes are taken

* Fix flutter analyze --flutter-repo warnings

* Add test for initial vs default route

* Update test and fix analyzer warnings

* Add test for initial route only being used initially
2017-06-07 18:32:29 -07:00
Hans Muller
c445c0880c Don't visit element children of the childless (#10558) 2017-06-07 15:25:39 -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
Ian Hickson
6f824bcec9 More documentation (#10519) 2017-06-05 22:44:49 -07:00
P.Y. Laligand
4b7e3494dd Add drag completion callback to Draggable. (#10455)
Fixes #10350
2017-06-05 16:38:33 -07:00
Ian Hickson
ca4f4fc8d1 Make the Brightness estimator public (#10508) 2017-06-05 13:15:43 -07:00
Ian Hickson
2ff2274cd3 Make ColorSwatch more general, and test it (#10505) 2017-06-05 13:14:11 -07:00
Michael Goderbauer
104725f384 Adds a widgets that blocks all semantics of widgets below it in paint order within the same container (#10425) 2017-06-02 18:14:27 -07:00
Jason Simmons
07275405f8 Apply the paint offset to the bounds rectangle for shader masks (#10458)
Fixes https://github.com/flutter/flutter/issues/10424
2017-06-02 16:09:51 -07:00
xster
2aaa7f88b3 CupertinoNavigationBar part 2 - create a bare bone CupertinoNavigationBar (#10423)
Create a CupertinoNavigationBar without automatic adding of the lead button
2017-06-01 17:17:21 -07:00
xster
a8777ce6b0 CupertinoNavigationBar part 1 - extract common layout logic (#10337)
Extract layout logic in material app bar to a common file that can be reused for cupertino
2017-06-01 16:24:14 -07:00
Rafal Wachol
457554beaf Added test for box decoration hit (#10438) 2017-06-01 14:47:40 -07:00
Jason Simmons
0e97637299 Implement a pushRoute service to satisfy the FlutterView.pushRoute API (#10415)
Fixes https://github.com/flutter/flutter/issues/10399
2017-06-01 11:26:54 -07:00
xster
c168afc070 Fix performance regression with _InheritedTheme (#10311)
Check ThemeData instead of Theme.
2017-05-31 11:19:37 -07:00
Jason Simmons
2ab60e93ef Scroll text fields when the caret moves outside the viewport (#10323)
Fixes https://github.com/flutter/flutter/issues/9923
2017-05-31 10:33:23 -07:00
Michael Goderbauer
87c5b24e87 Exclude ModalBarrier from Semantics Tree if it is not dismissible (#10395) 2017-05-30 16:45:54 -07:00