3825 Commits

Author SHA1 Message Date
Todd Volkert
7132083b24
Partially revert #13711 (#13745)
This reverts the change to `user_accounts_drawer_header.dart`
(and the associated test), as it was causing regressions in layout
of the drawer header.

https://github.com/flutter/flutter/issues/13743
2017-12-22 01:26:15 -05:00
xster
4fcdb50d9b
Add Cupertino scrollbar (#13290)
* Create CupertinoScrollbar

* handle main axis margin

* Adaptive material scrollbar and tests

* Small tweaks

* reapply changes on head

* Docs

* start

* Refactored ScrollbarPainter to be more immutable

* fix tests

* fix bug: one animationcontroller pointed to multiple painters

* some docs tweak

* remove unused import

* review

* review

* add dispose
2017-12-21 16:44:42 -08:00
Michael Goderbauer
4e13cd07bb
Fixes crash caused by invisible semantics children (#13740)
**tl;dr:** A `RenderObject` can only be an effective semantics boundary if it actually owned a `SemanticsNode` in the previous tree generation.

When using the `BlockSemantics` widget it is possible to introduce `RenderObject`s that are configured to be a semantics boundary, but because their semantics are blocked by `BlockSemantics` they will not (immediately) end up owning a `SemanticsNode`. When now a descendant of such a node-less semantics boundary marks itself as needing a semantics update we walk up the tree until we find the closest semantics boundary (which is our node-less `RenderObject`). We now incorrectly assume that this semantics boundary has a valid `SemanticsNode` and only regenerate the semantics subtree below this node. However, because the identified semantics boundary doesn't actually own a valid `SemanticsNode` asserts are throwing (e.g. `Child with id xx is invisible and should not be added to tree.`).

To fix this problem, we can just abort the walk if we reach a semantics boundary without a semantics node because (for now) we know that the semantics information of this branch will not make it into the final semantics tree.
If the semantics block is ever removed, the current algorithm re-generates the semantics for the entire branch and the semantics will be up-to-date then despite the abort. I've added a test to verify this to make sure it continues to work even when we change the algorithm.

Fixes https://github.com/flutter/flutter/issues/13326.
/cc @gavindoughtie FYI
2017-12-21 16:09:43 -08:00
amirh
56061759fc
Add an AnimatedIcon class and vitool (vector icon tool) to generate data for it (#13530) 2017-12-21 15:46:05 -08:00
Ian Hickson
370c73d9bc
Audit all the "final Widget child" properties. (#13718)
This attempts to apply some of what we learnt from UX studies, namely
that people wonder how to add multiple children to widget that take
one child.
2017-12-21 15:02:35 -08:00
Ian Hickson
4e2f77745f
Miscellaneous documentation improvements (#13719)
This is a collection of fixes I've run into recently.
2017-12-21 15:02:21 -08:00
Ian Hickson
4e16b9db29
Attempt a less invasive way to disable fading. (#13733)
Hopefully this will fix the performance regression in https://github.com/flutter/flutter/pull/13680 but with an easier way to flip the switch.
2017-12-21 15:02:03 -08:00
Leaf Petersen
b3cfa785c4
Uncontroversial and backwards compatible 2.0 SDK fixes (#13723)
Small code changes as part of moving the framework SDK forward to a 2.0 dev version.
2017-12-21 13:39:03 -08:00
Ian Hickson
ecb708ee3a
Clean up lerp() methods and their documentation. (#13684)
This cleans up lerp, lerpFrom, lerpTo, and scale methods, and their
documentation.

Fixes https://github.com/flutter/flutter/issues/12377.
2017-12-21 11:09:49 -08:00
Yegor
291602db92
localize a11y tab labels in the TabBar (#13714)
* localize a11y tab labels in the TabBar

* break import cycle

* test boilerplate

* fix German translation

* more test boilerplate fixes
2017-12-20 17:10:32 -08:00
Yegor
6873608184
Make UserAccountsDrawerHeader accessible (#13711)
* other accounts a11y; show accounts button a11y

* layout with bigger tap areas; all semantics

* internationalize UserAccountsDrawerHeader a11y labels

* better Russian translation

* break import cycle

* address comments
2017-12-20 17:10:06 -08:00
Ian Hickson
b1c870b312
Reenable fade transition for Material page transition (#13048) (#13680)
Fixes #12877 by reverting #9472
2017-12-20 13:52:01 -08:00
Yegor
81d4834278
support increase and decrease SemanticsActions in time picker (#13689)
* support increase and decrease SemanticsActions in time picker

* test roll over
2017-12-20 10:25:33 -08:00
Michael Goderbauer
52ebff721a
selected ListTile is selected (#13676)
* selected ListTile is selected

* review comment

* analyzer fix
2017-12-19 16:39:56 -08:00
Ian Hickson
78ff7707e1
Fix niggling PaginatedDataTable bugs (#13556)
Prevent header from thinking it can wrap and then overflowing.

Fix default footer string which lost its colon (localized values are fine).

Make the "rows per page" drop-down include at least one value even when the table lacks many items. (Previously it would assert if your table was too short.)

Make the footer scrollable.

Fix some todos and improve some debug output.

Tests for much of the above.
2017-12-19 12:39:48 -08:00
Michael Goderbauer
e6f20eb95c
IconButton is a button, semantically (#13674)
* IconButton is a button, semantically

* fix datepicker test
2017-12-19 11:33:23 -08:00
Ian Hickson
8e5d77d3fa
Make animating opacity cheaper. (#13583)
No need to update the compositing bits all the time.
2017-12-15 18:10:36 -08:00
Chris Bracken
813be533cd
Apply media padding to snackbar contents (#13623)
Applies any additional bottom, left, and right media padding inside the
snackbar, if present. This accounts for the iPhone X home indicator
widget and horizontal padding for the sensor housing notch in landscape
orientation.
2017-12-15 17:55:25 -08:00
xster
a43be998ec
Split one CustomPainter doc paragraph to bullet points (#13590)
* split doc paragraph

* specify shouldRepaint argument nullability

* review
2017-12-15 15:56:28 -08:00
Chris Bracken
f39a847c8b
Apply media padding in UserAccountsDrawerHeader (#13619)
Applies top, left, right media padding to avoid placing content within
the safe area insets (e.g. iPhone X notch area in landscape
orientation).
2017-12-15 15:52:19 -08:00
Ian Hickson
e65c882e97
Provide a navigatorKey property on MaterialApp and WidgetsApp (#13591)
This lets people poke at navigators without having to get their
BuildContext from a build function or State first.
2017-12-15 14:41:52 -08:00
Yegor
235b64ed2f
make date picker accessible (#13502)
* make date picker accessible

* make test file lookup location-independent

* address some comments

* always wrap in IgnorePointer

* no bitmasks for flags and actions

* recommend List<*>
2017-12-14 20:38:39 -08:00
Chris Bracken
5bbcf6d4fc
Apply T, L, R media padding in Cupertino nav bar (#13580)
Applies top, left, right media padding for iOS safe area insets. This is
a follow-up to the media padding applied to large titles in
flutter/flutter#13550.
2017-12-14 15:26:16 -08:00
Ian Hickson
c28121eeca
Allow the ErrorWidget to be overridden. (#13578)
Fixes https://github.com/flutter/flutter/issues/10695
2017-12-14 15:05:41 -08:00
Michael Goderbauer
f9cf5a1f3d
Add a11y label to modal barrier (#13543) 2017-12-14 15:03:51 -08:00
xster
6299dbada8
Document various 'alignment' members so it's clear how to concretely specify it. (#13577) 2017-12-14 13:19:26 -08:00
Sarah Zakarias
5e18c07614
Reapply flutter_assets (#13567)
* Revert "Revert engine (#13547)"

This reverts commit ee65db11d4618620ddc286f4618b707239205136.

* Keep flaky mark
2017-12-14 17:27:25 +01:00
xster
c3c3b68bf7
Add some docs and warnings to PageController.page (#13509)
* partial

* add doc and warning

* add correction

* review

* fix test
2017-12-13 19:32:59 -08:00
xster
6b6803738c
Add more checks to scheduleWarmUpFrame (#13552)
* Add more checks to scheduleWarmUpFrame

* review

* add test
2017-12-13 19:20:39 -08:00
Chris Bracken
20fb6621eb
Apply media padding in ListTile (#13545)
Applies media padding (e.g. iOS safe area insets) around the list tile
children inside the InkWell.

Also adds safe area around gallery section titles for consistency with
surrounding list tiles.
2017-12-13 18:39:36 -08:00
Chris Bracken
486aa63b4c
Apply media padding in Cupertino nav bar (#13550)
Applies left and right media padding to Cupertino navigation bar large
titles.
2017-12-13 18:23:33 -08:00
xster
c2a86a65b0
Add more doc to MediaQuery padding (#13525)
* add mediaquery docs

* review
2017-12-13 17:35:38 -08:00
Ian Hickson
2eb26f1349
Update AnimatedDefaultTextStyle to match DefaultTextStyle (#13531)
We've added a bunch of non-animatable properties to DefaultTextStyle.
This adds them to AnimatedDefaultTextStyle so that you can use them
even when your text style is animating.
2017-12-13 17:13:50 -08:00
Yegor
ee65db11d4
Revert engine (#13547)
* Revert "Include a directory with Flutter assets (#12944)"

This reverts commit 3af6b9cbf5787b4db6b4bad7494fe41addf5703d.

* Revert "Upgrade project.pbxproj to include flutter_assets (#13011)"

This reverts commit 08128cb29b28db00c2301f546bc59de33017074a.

* Revert "Upgrade complex_layout project.pbxproj to include flutter_assets (#13544)"

This reverts commit 35f1a04195e69afb5cc1e6588abad5476db3a5d8.

* mark complex_layout_ios__start_up as flaky
2017-12-13 16:25:25 -08:00
Sarah Zakarias
3af6b9cbf5
Include a directory with Flutter assets (#12944) 2017-12-13 22:30:32 +01:00
Michael Goderbauer
d04c906e0b
Add arguments to SemanticsActions; implement extend selection for a11y (#13490)
**This PR contains a breaking API change:**
`SemanticsConfiguration.addAction()` has been removed and replaces by action-specific setters (`onTap`, `onLongPress`, etc.) to take care of the fact that some action handlers (those, who take arguments) have different signatures.
2017-12-12 16:59:35 -08:00
Ian Hickson
9ac5963d2a
Fix TableBorder bugs (#13495)
Add more tests, fix docs, fix painting bugs...

Fixes https://github.com/flutter/flutter/issues/12902
2017-12-12 15:24:09 -08:00
xster
e2192a90fc
Remove top mediaquery padding from modal bottom sheets (#13497) 2017-12-12 11:25:20 -08:00
Ian Hickson
9a957e4123
Remove hack for support of old Hebrew language code. (#13309)
See https://github.com/flutter/flutter/issues/11907 and https://github.com/flutter/engine/pull/4411
2017-12-11 13:43:07 -08:00
Fredrik Simón
eed471ea3d Expose textAlign on TextFormField (#13414)
* Expose textAlign on TextFormField

Fixes #11404

* Added name to AUTHORS

* Added a test for TextFormWidget's textAlign
2017-12-11 13:29:22 -08:00
Mehmet Fidanboylu
0c09179b65
Fix for incorrect transparent -> DividerColor animation for ExpansionTile (#13449)
* Fix for incorrect transparent -> DividerColor animation for ExpansionTile

* Add comments and tests. Fix background color too.

* Fix analyzer warnings
2017-12-09 22:04:06 -08:00
Chris Bracken
355ebef5fe
Remove bottom padding in SliverAppBar (#13471)
Removes bottom padding from the child AppBar in SliverAppBar. Scaffold
already does this for its own app bars, but sliver app bars in the body
should also apply the bottom padding removal.

Fixes flutter/flutter#13458
2017-12-08 18:53:55 -08:00
Ian Hickson
186d1e9b0d
Have the framework in charge of scheduling frames. (#13344)
...instead of the engine.
2017-12-08 16:51:59 -08:00
Seth Ladd
33c66335a8
docs to redirect a user to dart:io.HttpClientOverrides (#13465) 2017-12-08 15:34:37 -08:00
Ian Hickson
d25e0eb0d3
Fix tapping on a test in flutter run (#13397)
Also:

* Remove find.byIcon since it's identical to find.icon. (I sent mail to flutter-dev about this.)

* Fix IconData's operator== and hashCode, which had not been updated when we added fields.

* Add the byTooltip finder to the list of suggested finders.

* Make the suggested Key finder prettier.
2017-12-08 14:37:24 -08:00
Yegor
b80751cdc3
Make time picker accessible (#13152)
* make time picker accessible

* use new CustomPaint a11y API

* flutter_localizations tests; use bigger distance delta

* fix am/pm control; selected values

* fix translations; remove @mustCallSuper in describeSemanticsConfiguration

* exclude AM/PM announcement from iOS as on iOS the label is read back automatically
2017-12-08 14:29:28 -08:00
xster
ecf5041807
Let translucent Cupertino bars have its scaffold children automatically pad their heights - second try (#13440)
* Let translucent Cupertino bars have its scaffold children automatically pad their heights (#13194)

* Let lists automatically add sliver padding from media query. Translucent nav and tab bars leave behind media query paddings in scaffolds.

* tests

* const lint

* Rename base abstract class to generalized ObstructingPreferredSizeWidget

* review

* More docs and comments from #13317
2017-12-08 09:00:20 -08:00
Michael Goderbauer
52d06b8213 a11y cursor movement (#13405) 2017-12-07 19:06:16 -08:00
Chris Bracken
276cbb1c27
Apply media bottom padding in BottomNavigationBar (#13431)
Updates scaffold to expose bottom padding to the associated
BottonNavigationBar (if present). BottomNavigationBar is now responsible
for adjusting itself to account for bottom padding.

This change is necessary to support the updated BottomNavigationBar
layout for the iPhone X.
2017-12-07 18:15:29 -08:00
xster
6f773944ae
Remove dangling MediaQuery paddings for non-fullscreen dialogs - 2 (#13438)
* Remove MediaQuery padding for various PopupRoutes that don't extend to the edge of the screen

* bottom sheet doesn't actually need handling. Scaffold does it already. Add test for others.
2017-12-07 17:58:50 -08:00