3910 Commits

Author SHA1 Message Date
Mary
bb15e346bb Add slider customizations (#11185)
* adds inactiveColor and showThumb to Slider

* add customizable color and showThumb tests

* remove showThumb, add negative tests
2017-07-20 11:15:22 -07:00
Ian Hickson
194bf41ee8 Don't relayout a Text if only its color changed. (#11313) 2017-07-19 17:53:32 -07:00
Jason Simmons
6dbf2269f0 Create one listener that merges the leading and trailing glow controllers and use it in each paint (#11311)
If a new listener is created for each paint, then the leading and trailing
controllers will accumulate and invoke a list of all those listeners
2017-07-19 17:32:39 -07:00
Ian Hickson
0b392665bf More debug help. (#11308) 2017-07-19 16:51:16 -07:00
Michael Goderbauer
b5c461a917 a11y: implement new SemanticsAction "showOnScreen" (v2) (#11156)
* a11y: implement new SemanticsAction "showOnScreen" (v2)

This action is triggered when the user swipes (in accessibility mode) to the last visible item of a scrollable list to bring that item fully on screen.

This requires engine rolled to flutter/engine#3856.

I am in the process of adding tests, but I'd like to get early feedback to see if this approach is OK.

* fix null check

* review comments

* review comments

* Add test

* fix analyzer warning
2017-07-19 16:40:24 -07:00
Hans Muller
d767ac0be5 Fixed a dartdoc sample code typo (#11306) 2017-07-19 16:33:55 -07:00
Yegor
669e13ebd4 AnimatedSize: state machine, tests, animate only when needed (#11305) 2017-07-19 15:53:28 -07:00
Yegor
02b65bc984 AnimatedCrossFade: shut off animations & semantics in faded out widgets (#11276)
* AnimatedCrossFade: shut off animations & semantics in faded out widgets

* address comments
2017-07-19 15:45:31 -07:00
Ian Hickson
77b0c1dab0 Don't pass "null" to debugPrint. (#11265)
debugDumpLayerTree in particular was passing null in profile mode since debugLayer isn't available in profile mode.
2017-07-19 12:57:13 -07:00
Michael Goderbauer
1744e8e0aa Expose the currently available semantic scroll actions (#11286)
* Expose the currently available semantic scroll actions

* review comments

* add test

* refactor to set
2017-07-19 12:21:36 -07:00
Hans Muller
daa7860ef0 Add a ScrollController parameter to NestedScrollView (#11242) 2017-07-18 18:24:38 -07:00
Michael Goderbauer
5f9e5605a6 Fix analyzer errors (#11284) 2017-07-18 17:24:56 -07:00
Jeff Brown
9480a3e591 Use Fuchsia system compositor for physical model layers. (#11164)
On Fuchsia, the system compositor is responsible for drawing shadows
for physical model layers with non-zero elevation.

Also fixed a bug where _needsCompositing was not being cleared prior
to updating it.
2017-07-18 15:30:08 -07:00
Jason Simmons
71c374af7c Add a flag that controls autocorrect on text fields (#11180)
See https://github.com/flutter/flutter/issues/11168
2017-07-17 17:49:03 -07:00
najeira
898c19d753 add physics to TabBarView (#11150) 2017-07-17 16:59:43 -07:00
Michael Goderbauer
744921fa02 Ensure that a frame is scheduled when a RenderObject calls markNeedsSemanticsUpdate (#11207)
* Ensure that a frame is allways scheduled when a RenderObject marks itself as needing a semantics update

Fixes issue 2 described in https://github.com/flutter/flutter/issues/10971

Previously, an object could call `markNeedsSemanticsUpdate` and its wish would never be granted because no frame was scheduled that would actually update the semantics. This caused an issue during scrolling on Android where at the end of the scroll the `RenderIgnorePointer` would stop blocking the semantics of the scrolled view, call `markNeedsSemanticsUpdate`, but then no frame was scheduled to actually put the semantics of the scrolled view back into the semantics tree. That made the scrolled view unusable for a11y users.

At first I was a bit wary to call `requestVisualUpdate` within `markNeedsSemanticsUpdate` because technically the visual is fine, we only need the frame it schedules to update the semantics. However, it seems like we are using `requestVisualUpdate` for exactly that purpose in other places already where we just need an update to the semantics (e.g. 76a50fe0ca/packages/flutter/lib/src/rendering/object.dart (L2408)).

* add tests
2017-07-17 16:49:05 -07:00
xster
5756d62931 Fix overscroll friction for small lists (#11243) 2017-07-14 18:33:20 -07:00
Michael Goderbauer
b619759133 Adds a RouteObserver (#11236)
* Adds a PageRouteObserver

Required for https://github.com/flutter/plugins/pull/174.
See also https://github.com/flutter/flutter/issues/11216.

* formatting fixes

* Make RouteObserver generic
2017-07-14 17:44:30 -07:00
Jason Simmons
e967b4b3c5 Improve the year selector UI in the date picker (#11214)
Fixes https://github.com/flutter/flutter/issues/10917
2017-07-14 15:08:10 -07:00
Todd Volkert
535a364c2a Add more docs to OrientationBuilder (#11233) 2017-07-14 11:54:20 -07:00
Todd Volkert
be9f99a8b7 Minor clarifications in docs (#11171) 2017-07-12 11:48:27 -07: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
7b90bdc908 Make DropDown accessible (#11149) 2017-07-11 15:23:21 -07:00
Michael Goderbauer
ee632c3919 Exclude modal barrier from semantics on Android (#11024)
* Exclude modal barrier from semantics on Android

* Add tests
2017-07-06 10:15:03 -07:00
xster
47c4d64f01 Match non-linear overscroll spring to iOS (#11065)
* Make the drag resistance non-linear

* Let the easing of overscroll have a spring effect too

* Add tests and prevent possible drift by having a slightly smaller resistance when easing the overscroll

* lint
2017-07-05 18:39:22 -07:00
Collin Jackson
1b20dbc6dd Improve ExpansionTile docs (#11034) 2017-07-04 18:37:14 -07:00
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
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
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
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
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
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
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
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
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