256 Commits

Author SHA1 Message Date
xster
40b67bb187 Move icons stuff from material to widget (#10192)
Moved everything icons related except the material icon button and the materialicon font list to widget
2017-05-21 16:57:31 -07:00
Adam Barth
81b76c2bb8 Make CircularProgressIndicator's stroke width configurable (#9794)
Fixes #9062
2017-05-19 21:56:07 -07:00
xster
95e9e7e9e7 Theme inserts IconTheme into tree (#10179)
* Let Theme insert an IconTheme into the widget tree

* flip the order, no real reason

* Let icon theme use its own fallback

* review notes

* more review notes
2017-05-19 18:36:50 -07:00
Ian Hickson
cd6e3b1ac2 CheckboxListTile, RadioListTile, SwitchListTile (#10160) 2017-05-19 08:46:17 -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
940473e5d6 Don't crash if Slider is given an empty range. (#10133)
Instead just disable the slider.

Fixes https://github.com/flutter/flutter/issues/10055
2017-05-16 19:35:01 -07:00
Ian Hickson
8b5ece7ca9 Report semantics geometry in physical units. (#10094)
Previously we used logical pixels. This made the accessibility metrics
tiny on modern devices, since the OS works in physical units.

Also add a bit more debugging info and some docs.
2017-05-16 16:43:22 -07:00
Adam Barth
49b183c502 Estimate the brightness of the primary color (#10071)
If the caller doesn't explicitly give the brightness of the primary
color, we now estimate it using an algorithm from the Web Content
Accessibility Guidelines.

Also, this patch contains a function that converts RGB colors to
HSVColors. I was originally going to use that, but the WCAG algorithm
ended up seeming like a better choice. The patch still includes this
function because it's generally useful.

Fixes #5718
2017-05-14 10:09:52 -07:00
Hans Muller
1157812bb9 Added ExpansionTile and deprecated TwoLevelList et al (#9938) 2017-05-09 16:32:01 -07:00
Hans Muller
a6eb0a3e38 Gallery animation demo back button update (#9853) 2017-05-08 10:13:13 -07:00
Ian Hickson
cbfde9650d Appbar should update when you add a drawer. (#9755)
Also, I had a question about flutter_test matchers and our style guide
says that when I have a question I should update the docs so I did
that and then got a bit carried away.
2017-05-03 12:56:18 -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
Adam Barth
1d726bbeb5 Left align AppBar title on iOS with multiple actions (#9723)
If there is more than one action, then the AppBar should align the title to the
left according to
<https://material.io/guidelines/platforms/platform-adaptation.html#platform-adaptation-platform-recommendations>
2017-05-02 12:53:03 -07:00
Adam Barth
ea96773fd1 Use horizontal dots on iOS menu button (#9722)
As required by
<https://material.io/guidelines/platforms/platform-adaptation.html#platform-adaptation-platform-recommendations>.
2017-05-02 10:38:50 -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
f65fea8e2e Create a text validator/formatter mechanism (#9535)
* Add a text formatter interface used by EditingText. Provide some default implementations.

* self nits

* Handle -1 selection offsets

* review notes

* simplify regular expression

* Add whitelisting formatters. Use a custom phone number formatter in text demo.

* review notes

* not being able to addAll(null) is pretty annoying

* review notes

* partial tests

* Add tests

* didn’t end up needing mockito

* move to services
2017-04-28 15:33:38 -07:00
xster
b717963b43 Change Cupertino page transition box shadow to a simple custom gradient (#9673)
Creates another Decoration for drawing outside the decorated box with a gradient to emulate the shadow.

Lets the cupertino transition page's background be transparent.

Fixes #9321
2017-04-28 12:50:20 -07:00
Ian Hickson
11fa80bb78 MediaQuery.of shouldn't give a default return value (#9596) 2017-04-27 15:02:59 -07:00
Ian Hickson
36052e68dd BoxDecoration API changes: backgroundColor -> color et al (#9648)
backgroundColor -> color
backgroundImage -> image
BackgroundImage -> DecorationImage
2017-04-27 14:19:01 -07:00
Ian Hickson
596eb033c7 Loosen the constraints for Stack non-positioned children. (#9581)
Also:

 * Add three explicit sizing modes to Stack for non-positioned
   children: loose, expand, and passthrough. (All three are used.)

 * Fix a bug whereby layers would try to paint in the same frame as
   they were removed from layout (but not detached).

 * Fix a bug whereby Offstage wasn't properly marking the parent dirty
   when changing its sizedByParent flag.

 * Explicitly make Overlay expand non-positioned children.

 * Explicitly have InputDecoration pass through the constraints from
   its Row to its Stack children.
2017-04-25 15:06:02 -07:00
Adam Barth
55f334681b FocusNode.requestFocus should show the keyboard (#9558)
This patch introduces the notion of a keyboard token, which generalizes the
logic in EditableText for distinguishing between gaining focus by default and
gaining focus because of an explicit use action.

Fixes #7985
2017-04-24 09:46:49 -07:00
Alexandre Ardhuin
83fce211a3 More const immutable classes (#9544)
* more widget const constructors

* prefer const constructors

* address review comments
2017-04-23 22:37:29 +02:00
xster
76ecb0b9a1 Remove InputField (#9520) 2017-04-21 14:12:14 -07:00
Alexandre Ardhuin
9541848272 make @immutable const classes (#9532)
* make @immutable const

* fix build
2017-04-21 23:09:42 +02:00
Alexandre Ardhuin
c794221f96 enable lint prefer_adjacent_string_concatenation (#9493) 2017-04-21 08:52:07 +02:00
Alexandre Ardhuin
03c54abd5f make some widgets const (#9477) 2017-04-20 08:59:05 +02:00
Chinmay Garde
9b90ec4846 Remove FadeTransition from _MountainViewFadeTransition. (#9472)
* Remove FadeTransition from _MountainViewFadeTransition.
* Update tests.
2017-04-19 15:12:40 -07:00
Adam Barth
7be9115a43 Deploy @immutable in more places (#9462)
Turns out we have many immutable classes.

Fixes #6892
2017-04-19 09:30:43 -07:00
Hans Muller
1e4151691a Fix PageSelector, page selector gallery demo (#9448) 2017-04-18 14:15:32 -07:00
Hans Muller
4906297c28 Scrollable TabBar shows initialIndex (#9402) 2017-04-18 13:11:35 -07:00
xster
8ed175411b Make Cupertino page transition elevation animated too (#9166)
* Make Cupertino page transition elevation animated too

* Rename and change physical model to a decorated box

* Tests

* Add a comment

* still need to handle null in the tween somewhere

* nits

* Tweens evaluate to the actual begin/end instances. Let them be non-null

* Rename no decoration to none
2017-04-18 11:27:21 -07:00
Hans Muller
80a8c5629e WidgetTester enterText() and showKeyboard() can specify an EditableText ancestor (#9398) 2017-04-14 15:41:30 -07:00
Hans Muller
dbfa747b37 TabBarView scroll handling should factor in scroll physics tolerance (#9390) 2017-04-14 15:23:47 -07:00
Hans Muller
c96201a3c9 Scaffold appBar is-a PreferredSizeWidget, etc (#9380)
* Scaffold appBar is-a PreferredSizeWidget, etc

* Updated

* Updated per review feedback
2017-04-13 13:04:51 -07:00
Chris Bracken
81fa81cd32 Add TextEditingValue update test coverage (#9381)
Tests that updates to selection base/offset editing state is updated on
controller updates.

Tests TextEditingValue.clear() clears text.
2017-04-13 12:13:30 -07:00
Ian Hickson
8fdd2066b3 DefaultTextStyle.merge and IconTheme.merge improvements (#9358)
I can't figure out if this is genius or a giant hack.

This lets you use DefaultTextStyle.merge and IconTheme.merge without
specifying a BuildContext. It automatically merges in at the
appropriate place in the tree using a Builder widget.
2017-04-13 10:26:40 -07:00
Hans Muller
9f34e2e4c2 Point to Offset (#9355) 2017-04-12 15:54:50 -07:00
Hans Muller
28bb89c6f6 Support for snapping floating app bars (#9156) 2017-04-12 15:15:01 -07:00
Ian Hickson
bf017b79b3 Move Point to Offset (#9277)
* Manually fix every use of Point.x and Point.y

Some of these were moved to dx/dy, but not all.

* Manually convert uses of the old gradient API

* Remove old reference to Point.

* Mechanical changes

I applied the following at the root of the Flutter repository:

git ls-files -z | xargs -0 sed -i 's/\bPoint[.]origin\b/Offset.zero/g'
git ls-files -z | xargs -0 sed -i 's/\bPoint[.]lerp\b/Offset.lerp/g'
git ls-files -z | xargs -0 sed -i 's/\bnew Point\b/new Offset/g'
git ls-files -z | xargs -0 sed -i 's/\bconst Point\b/const Offset/g'
git ls-files -z | xargs -0 sed -i 's/\bstatic Point /static Offset /g'
git ls-files -z | xargs -0 sed -i 's/\bfinal Point /final Offset /g'
git ls-files -z | xargs -0 sed -i 's/^\( *\)Point /\1Offset /g'
git ls-files -z | xargs -0 sed -i 's/ui[.]Point\b/ui.Offset/g'
git ls-files -z | xargs -0 sed -i 's/(Point\b/(Offset/g'
git ls-files -z | xargs -0 sed -i 's/\([[{,]\) Point\b/\1 Offset/g'
git ls-files -z | xargs -0 sed -i 's/@required Point\b/@required Offset/g'
git ls-files -z | xargs -0 sed -i 's/<Point>/<Offset>/g'
git ls-files -z | xargs -0 sed -i 's/[.]toOffset()//g'
git ls-files -z | xargs -0 sed -i 's/[.]toPoint()//g'
git ls-files -z | xargs -0 sed -i 's/\bshow Point, /show /g'
git ls-files -z | xargs -0 sed -i 's/\bshow Point;/show Offset;/g'

* Mechanical changes - dartdocs

I applied the following at the root of the Flutter repository:

git ls-files -z | xargs -0 sed -i 's/\ba \[Point\]/an [Offset]/g'
git ls-files -z | xargs -0 sed -i 's/\[Point\]/[Offset]/g'

* Further improvements and a test

* Fix minor errors from rebasing...

* Roll engine
2017-04-12 15:06:12 -07:00
Ian Hickson
2a54524337 Fix tests to use Ahem, and helpful changes around that (#9332)
* Fix tests to use Ahem, and helpful changes around that

- Fix fonts that had metric-specific behaviours.

- LiveTestWidgetsFlutterBinding.allowAllFrames has been renamed
  to LiveTestWidgetsFlutterBinding.framePolicy.

- LiveTestWidgetsFlutterBinding now defaults to using a frame policy
  that pumps slightly more frames, to animate the pointer crosshairs.

- Added "flutter run --use-test-fonts" to enable Ahem on devices.

- Changed how idle() works to be more effective in live mode.

- Display the test name in live mode (unless ahem fonts are enabled).

- Added a toString to TextSelectionPoint.

- Style nit fixes.

* Roll engine to get Ahem changes.

* Update tests for dartdoc changes.

* Fix flutter_tools tests
2017-04-12 13:33:02 -07:00
xster
89a7fdfc56 Rename State.config to widget everywhere (#9273)
Rename State.config to State.widget
Rename State.didUpdateConfig to State.didUpdateWidget
Renamed all State subclasses' local variables named config to something else
2017-04-10 18:32:24 -07:00
xster
4f258357c9 Fix lints (#9307) 2017-04-10 02:09:51 -07:00
xster
7ce1cfd48d AppBar automatically show a close button for dialogs (#9268)
* Wiring fullscreen dialog

* Make fullscreen dialog use the new API. Add tests

* Review notes

* Move field back up

* final
2017-04-10 01:05:25 -07:00
Ian Hickson
3eb87830e9 Constants! Constants everywhere! (#9286)
Aggressively apply the const lint.
2017-04-07 12:24:32 -07:00
Chris Bracken
ecc590f958 Eliminate WidgetTester.idle() after enterText() (#9290)
enterText() now includes a call to idle().
2017-04-07 11:42:22 -07:00
Chris Bracken
a7a95daa52 Update TextEditingValue.selection on selection change (#9284)
Fixes a bug where tapping in the text under edit moved the cursor but
did not push the updated selection to the engine.

Adds a test for caret position updates.
2017-04-07 11:13:10 -07:00
Adam Barth
470db7d96e TextField should update IME when controller changes (#9261)
Fixes #9246
2017-04-06 12:28:30 -07:00
Ian Hickson
2144a8964f Fill in the test for button color splash and highlights (#9224)
Fixes https://github.com/flutter/flutter/pull/8643

Fixes https://github.com/flutter/flutter/issues/8804 by adding a test
to verify that Material elevation changes animate.

Also tweak some dartdocs, add some trailing commas, improve some
toString output, make the inkwell test agnostic to the PhysicalModel
logic, and move the material buttons test to the material test
directory.
2017-04-05 22:46:58 -07:00
Ian Hickson
8469ef03d8 Trivial tabs-related fixes (#9191)
Add some commentary around DefaultTabController.initialIndex.
Fix typo (nuull) in TabBar.
Make some asserts more detailed.
2017-04-04 20:38:29 -07:00
Ian Hickson
d98daa6e10 Minor cleanup to tests. (#9197) 2017-04-04 17:21:22 -07:00