4552 Commits

Author SHA1 Message Date
Greg Spencer
7be0bd1ce9
Move geometric sort for semantics to the framework side. (#14539)
This adds geometric sort ordering back in for semantics nodes that don't have a sort order defined.

With this change, widgets that either have no sort order, or have an equivalent sort order, will be compared geometrically. The comparison is between the two starting corners, so it is TextDirection-aware: parent nodes that are set to have LTR text will compare upper left corners of their children, and upper right when set to RTL.

Also fixed a bug in the Transform widget that didn't mark modified nodes as needing a semantics update.
2018-02-12 20:53:32 -08:00
Greg Spencer
bfc6833459
Swap nextNodeId for previousNodeId, since setTraversalBefore is broken. (#14607)
It seems that setTraversalBefore doesn't work as well as setTraversalAfter for some reason, although I'm using them the same way. Some apps would lock up TalkBack when traversing if setTraversalBefore was set, but not with the equivalent setTraversalAfter.

It's not entirely clear why this is, but I'm going with this to at least get it fixed for apps we know about.

Fixes #14600
2018-02-12 14:10:39 -08:00
Vyacheslav Egorov
dfbbd30de5
Update expectations in stack_trace_test: there is no async-patch in Dart 2 mode. (#14643)
Dart 2 applies core library patches during the build, so there is only a single
 dart:async library.
2018-02-12 19:36:31 +01:00
Vyacheslav Egorov
ce82cc656c
Fix Dart 2 issues in editable_text_test. (#14632)
Need to use `typed(any)` instead of `any` in Dart 2.
2018-02-12 08:20:32 +01:00
Michael Goderbauer
04d3ecb87e
Add accessibilityFocus and loseAccessibilityFocus as a11y actions (#14603) 2018-02-09 19:57:02 -08:00
Michael Goderbauer
72517f0a0a
Encode scrolling status into tree (#14536) 2018-02-09 18:33:50 -08:00
Alexander Markov
d64efe9fdb
Roll engine to a031239a5d4e44e60d0ebc62b8c544a9f592fc22 (#14601)
Includes:
* Exclude frontend_server from the license crawl (https://github.com/flutter/engine/pull/4645)
* Make native wrapper classes non-abstract (https://github.com/flutter/engine/pull/4607)
* Restrict clang-format to C, C++, Obj-C, Obj-C++ (https://github.com/flutter/engine/pull/4654)
2018-02-09 14:40:28 -08:00
Alexander Aprelev
0f3aa50071
Roll engine with rolled dart (#14538)
* Roll engine to pre-dart roll

* Roll engine to pick up updated dart

* Apply Map changes

* Move to dev.22

* Fix some analysis issues

* Silent analyzer

* More consts

* More const massaging

* Yet more const massaging

* Yet more const massaging

* Use nonconst()
2018-02-09 10:33:24 -08:00
Vyacheslav Egorov
f5bbc5bb76
Upgrade packages (#14588)
We need to pull in Dart 2 compliant mockito

Fixes #14532
2018-02-09 11:16:58 +01:00
Vyacheslav Egorov
d20125c3da
Change GlobalObjectKey.toString to strip away State<StatefulWidget>. (#14558)
This allows const GlobalObjectKey(0) to be concisely formatted as
[GlobalObjectKey int#0000] in both Dart 2 and Dart 1 modes.

Without this change it would be formatted as
[GlobalObjectKey<State<StatefulWidget>> int#0000] because in Dart 2
types are instantiated to bounds.

In addition to retaining general readability this also fixes few
tests that rely on this short string representation (see
test/widgets/global_keys_duplicated_test.dart).
2018-02-09 09:51:58 +01:00
Vyacheslav Egorov
7db0564ab6
Fix message channel usage in few tests. (#14557)
Channels don't preserve Map and List type arguments: Map<String, Object>
arrives as Map<dynamic, dynamic> to the receiver.

In Dart 2 type system dynamic no longer serves as bottom type so
Map<dynamic, dynamic> can't be assign to a variable of type
Map<String, dynamic>.

Issue #14556
2018-02-08 22:25:25 +01:00
Vyacheslav Egorov
90ddb2370b
Fix text_style_text.dart to be Dart 2 compliant. (#14559)
In Dart 2 mode we throw different exception: compiler generates
throw of a compilation error instead of runtime throwing
noSuchMethod.
2018-02-08 22:10:31 +01:00
Vyacheslav Egorov
4814303bf7
Partially fix Dart 2 issues in animated_icons.test. (#14531)
Use mockito in the Dart 2 compliant way:

* use typed(...) in appropriate places to wrap matchers like any;
* don't pass matcher directly into the calls - use `argThat(matcher)`.

Also rename paintColorMatcher to hasColor to match how other similar
functions are named and how the code reads.
2018-02-08 17:00:18 +01:00
Vyacheslav Egorov
0556e14f18
Strong mode fixes in tests (#14520)
* Use explicit types for onClick handler in diagnostics_test.

This test formats it to string and expects exact match.

Before this change onClick had type () => dynamic in Dart 1 and () => Null in
Dart 2.

* Fix strong mode issues in packages/flutter/test/material/dropdown_test.dart

Pass explicit type argument to renderObjectList(...) in expressions like

     List<RenderBox> l = tester.renderObjectList(...).toList();

Dart 2 mode inference is not strong enough to infer RenderBox as a type argument
fto renderObjectList and passes RenderObject instead, which later leads to
runtime check failures (because List<RenderObject> is not List<RenderBox>).

* Fix strong mode issues in packages/flutter/test/material/theme_test.dart.

Pass type argument explicity to widgetList. Dart 2 type inference can't infer
it by itself.

* Fix strong mode issue packages/flutter/test/widgets/unique_widget_test.dart

Pass correct type argument to GlobalKey.

* Fix type annotation in packages/flutter/test/material/app_test.dart.

pushNamed returns Future<Object> not Future<String>.
2018-02-08 09:31:34 +01:00
asiva
8acb68888c Fix typo. 2018-02-07 21:28:18 -08:00
asiva
bdc6f10293 Fix issues. 2018-02-07 21:28:18 -08:00
asiva
e122d5d1d5 Revert "Fixes in flutter framework code to address the mixin issue raised"
This reverts commit 1c236d52454fd6c72c9b49b7b06f08c5ba36ec66.
2018-02-07 21:28:18 -08:00
amirh
4ae1b5f415
Paint the shape border in the Material widget (#14383) 2018-02-07 15:18:04 -08:00
Jason Simmons
3e1ef19fcb
Fix a type error in Scrollable.ensureVisible (#14525)
Fixes https://github.com/flutter/flutter/issues/14492
2018-02-07 14:17:08 -08:00
Greg Spencer
df791279ab
Fix process running during package creation (#14508)
There were some problems I introduced with the last PR for this. It passed the test, but failed in practice.

This adds tests for those failure cases, adds a "--help" and fixes the test so that it doesn't try and actually download MinGit as part of the Windows test.

I added package:platform as a dependency, so I did a force upgrade on the packages.

Also, re-enabling 'create package' in the cache warming code, now that #14448 is fixed.
2018-02-07 12:21:14 -08:00
Hans Muller
788f01f90d
Revert kRadialReactionRadius was 20 is now 24 again (#14522) 2018-02-07 10:26:55 -08:00
Chris Bracken
66ecfb02c2
Apply media padding to persistent footer buttons (#14512)
Applies left, right, and bottom media padding (e.g. iOS safe area
insets) around ButtonBar in the material scaffold
persistentFooterButtons.
2018-02-07 09:34:46 -08:00
Amir Hardon
d0a72752ac update buttons_test to expect clipPath instead of clipRRect 2018-02-06 18:44:42 -08:00
Amir Hardon
c90983dde9 add a pushClipRRect override to TestRecordingPaintingContext 2018-02-06 18:44:42 -08:00
Amir Hardon
cc060ff2f2 Use PhysicalModel for the default canvas Material.
This is done to keep in place the workaround we have for rectangular material
where PhysicalModel skips the saveLayer call.
2018-02-06 18:44:42 -08:00
Amir Hardon
b40c112e22 Update MaterialType.canvas documentation.
While the documentation for MaterialType.canvas described it as
an infinite shape. The implementation has been clipping it to the
bounding rectangle for a while. And it is already used in the wild as a
rectangular piece. So we just update the documentation to match that.
2018-02-06 18:44:42 -08:00
Amir Hardon
b79f4e319d Revert "Use RRects instead of Paths when possible in Material. (#14404)"
This reverts commit d9ef7df978e6d50663a4d100963ec16205f3ab6f.
2018-02-06 18:44:42 -08:00
Chris Bracken
4b878dc687
Add minimum insets to SafeArea (#14505)
As a convenience, this adds a set of minimum padding to apply. The
greater of the minimum padding and the media padding is applied to each
edge.
2018-02-06 15:27:39 -08:00
Chris Bracken
35c2267ffe
Add SliverSafeArea widget (#14499)
A SafeArea-like widget that applies a SliverPadding instead of a
Padding.
2018-02-06 14:28:58 -08:00
Greg Spencer
14309b9311
Adds the semantic node traversal API. (#14060)
This adds an API for defining the semantic node traversal order.

It adds a sortOrder argument to the Semantics widget, which is a class that can define a list of sort keys to sort on. The keys are sorted globally so that an order that doesn't have to do with the current widget hierarchy may be defined.

It also adds a shortcut sortKey argument to the Semantics widget that simply sets the sortOrder to just contain that key.

The platform side (flutter/engine#4540) gets an additional member in the SemanticsData object that is an integer describing where in the overall order each semantics node belongs. There is an associated engine-side change that takes this integer and uses it to order widgets for the platform's accessibility services.
2018-02-06 13:24:16 -08:00
Hans Muller
28c8fd10cf
Radial splash and radio button update (#14483) 2018-02-06 08:20:51 -08:00
Alexandre Ardhuin
2e80bf1db7
unnessary parenthesis (#14475) 2018-02-06 09:00:11 +01:00
Hans Muller
23ee4a4af5
Updated InkWell, InkResponse troubleshooting doc (#14473) 2018-02-05 17:06:05 -08:00
Volodymyr Lykhonis
b88ba79c04 Customized Cupertino navigation bar. (#14307)
- Add override of border color of CupertinoNavigationBar
- Add background color to CupertinoPageScaffold
2018-02-05 14:01:55 -08:00
Ian Hickson
e810bee6e5
Fix scrolling of multiple SliverLists and SliverGrids (#14449)
* Fix scrolling of multiple SliverLists and SliverGrids

* Update sliver_fixed_extent_list.dart

* Update sliver_grid.dart
2018-02-05 13:56:28 -08:00
Alexandre Ardhuin
3c379aaf43
whitespace cleanup (#14458) 2018-02-05 22:20:21 +01:00
Hans Muller
f5dea9325b
Material button update (#14410) 2018-02-05 12:59:45 -08:00
Jacob Richman
9d302ac46b
Widget Inspector support for tracking Widget creation locations. (#14056)
* Widget Inspector support for tracking Widget creation locations.
2018-02-05 10:25:28 -08:00
Hans Muller
f0f0f09707
Fix InkRipple.cancel animation race (#14442) 2018-02-02 16:13:56 -08:00
Ian Hickson
21ee1a25fd
Explain MaterialColor's constructor better. (#14407)
Fixes https://github.com/flutter/flutter/issues/14393
2018-02-02 16:00:57 -08:00
Alexandre Ardhuin
c02b6a8bcf
some whitespace cleanup (#14443) 2018-02-02 23:27:29 +01:00
Michael Thomsen
e941299862
Change sky_engine to use a sdk dependency (#14436) 2018-02-02 11:22:00 +01:00
Ian Hickson
c12d120bbf
Provide a way to override global InheritedWidgets (#14348)
For example, so that the gallery can override the media query globally.
2018-02-01 23:12:52 -08:00
Alexandre Ardhuin
12ceaefb18
work around const lints (#14416)
* work around const lints

* update nonconst doc
2018-02-02 08:06:42 +01:00
Michael R Fairhurst
51158c9177 Fix passing "void" into "dynamic" to future-proof new changes. (#14366)
Using a void list literal in this case is valid and correct, and will be
required for dart 2.

Note: void can be inferred here, but followed the lints to write it
explicitly even though that's arguably a bit weird in this case and less
backwards compatible.
2018-02-01 05:09:07 -08:00
Alexandre Ardhuin
841d5d7bd5
prefer_const_declarations on local variables (#14358) 2018-02-01 07:51:26 +01:00
Chris Bracken
b0e17949aa
Position bottom bar widgets relative to window (#14406)
Note: also fixes a bug wherein bottom media padding was applied even in the
presence of persistent footer buttons.

The material spec states that the keyboard should be positioned on top
of any bottom navigation bar or persistent footer buttons widget(s).

We no longer inset the bottom of bottom navigation bars / persistent
footer buttons by the bottom viewInset.

Body content bottom (and the bottom of bottom sheets) is now determined
by the greater of:
  1. bottom view inset (the keyboard height)
  2. bottom elements (nav bar, footer buttons)
relative to the window max-Y.
2018-01-31 21:19:15 -08:00
Siva Annamalai
5c2323fc3e address review comment. 2018-01-31 21:02:40 -08:00
Siva Annamalai
337ad9dc9e Add meta tag @optionalTypeArgs to the mixin classes where we don't expect a generic type to be specified at the points where the mixin is applied. This suppresses the analyzer warnings. 2018-01-31 21:02:40 -08:00
Siva Annamalai
1c236d5245 Fixes in flutter framework code to address the mixin issue raised
in https://github.com/dart-lang/sdk/issues/31984
2018-01-31 21:02:40 -08:00