4515 Commits

Author SHA1 Message Date
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
Ian Hickson
17c50693b1
Rationalize the ScrollMetrics cloning logic (#14281) 2018-01-31 17:10:56 -08:00
amirh
d9ef7df978
Use RRects instead of Paths when possible in Material. (#14404)
0672055a72ff1265b2aedb037f2848455318f22a changed the Material widget to
always use Paths for representing the outline.
These paths are later used for clipping and drawing a shadow.
This changed introduced a performance regression, see:
https://github.com/flutter/flutter/issues/14403

We did not expect a path that is a rounded rectangle to be less
performant than a rounded rectangle, as Skia should be able to tell the
path is just a rounded rectangle.
Until we find a solution for this regression, we keep using RRect when
we can represent the shape with it.
2018-01-31 16:06:14 -08:00
Michael Goderbauer
b54b576c1a
Assorted a11y fixes (#14395) 2018-01-31 15:23:20 -08:00
Chris Bracken
882be89e4c
Improved bottom media padding for SnackBars (#14396)
In a scaffold, snackbars are positioned above the BottomNavigationBar
and/or PersistentBottomButtons, if present. In such cases, they should
not apply bottom media padding to their widget sub-tree.
2018-01-31 12:35:13 -08:00
Michael Goderbauer
3fd737c8f7
a11y on Android: copy/cut/paste (#14343)
With a little refactor and unification of how availability of copy/cut/paste is determined across platforms.

Minor remaining issue: https://github.com/flutter/flutter/issues/14331.

Fixes https://github.com/flutter/flutter/issues/13501.
2018-01-31 12:26:24 -08:00
amirh
06d12a78d7
Use const constructor for RoundedRectangleBorder. (#14384)
This triggered an analysis failure only on the devicelab.
2018-01-31 00:21:09 -08:00
amirh
0672055a72
Support arbitrary shaped Material. (#14367)
For backward compatibility we keep supporting specifying the shape as a
combination of MaterialType and borderRadius, and we just use that as a
default when shapeBorder is null.

To cleanup the implementation if shapeBorder was not specified we just
translate the specified shape to a shapeBorder internally.
I benchmarked paint, layout and hit testing, with the specialized shape
clippers vs. the equivalent path clippers and did not see any
significant performance difference.

For testing, I extended the clippers/physicalShape matchers to match either the
specialized shape or the equivalent shape.
2018-01-30 23:24:42 -08:00
Vyacheslav Egorov
340d9e00cf
Fix various strong mode issues. (#14284) 2018-01-31 08:21:32 +01:00
Greg Spencer
122796137b
Make Cupertino alert dialog honor text scale factor (#14346)
This updates the CupertinoAlertDialog to respect text scale factor more properly. Before this, it would scale, but would clip the action buttons at large scales, and would draw in the safe area. It also didn't match the iOS alert because the content didn't scroll. Now it does those properly.

I didn't address the fact that buttons should lay out properly (Issue #14345), but that's probably pretty low priority.

Fixes #12484
2018-01-30 17:23:03 -08:00
amirh
178ad8aba8
Add unit tests for the Material widget (for clipping and elevation) (#14334) 2018-01-30 12:54:52 -08:00
Tom Larsen
b7f6be6ff2 Add onLeave callback to DragTarget (#14103)
* Add a callback that fires when a Draggable leaves a DragTarget.  This enables the DragTarget to manage its state from entry to exit.

* It helps to have a null check here

* Add test for onLeave callback and add verbiage to onWillAccept explaining the callback lifecycle of a DragTarget.
2018-01-29 22:48:35 -08:00
Ankur Kedia
47e52b827f adds properties to dismissible widget (#14162)
* adds crossAxisEndOffset and rollbackDuration properties to dismissible widget

* re-added removed license comment

* corrected license comments

* Adds test for rollbackDuration and crossAxisEndOffset

* added tests and comments

* modified tests for dismissible widgets
2018-01-29 22:45:30 -08:00
Tom Larsen
52d47751a0 Add onCancelled callback to PopupMenu (#14226)
* Add onCancelled callback to PopupMenu

* Fix spelling, don't call onCanceled if disposed, improve documentation.
2018-01-29 20:10:43 -08:00
amirh
2e449f06f0
import all generated files in animated_icons_private_test (#14329) 2018-01-29 14:26:51 -08:00
amirh
85b5b88e0b
Add more animated icon assets (#14328) 2018-01-29 10:36:59 -08:00
Ian Hickson
7701127bdd
Fix shadows in NestedScrollView (#14279)
* Fix shadows in NestedScrollView

The previous logic (and especially the previous test) wasn't quite right.

* Update nested_scroll_view.dart
2018-01-26 22:36:00 -08:00
amirh
ae1f65ebd6
Re-organize the Material widget's documentation. (#14303)
This widget evolved over time by multiple people, I'm just trying to explain
in a more direct way what the widget is currently doing.
2018-01-26 20:09:11 -08:00
Ian Hickson
d6f006db1e
Rename a test that wasn't running (#14278) 2018-01-26 17:00:06 -08:00
Michael Goderbauer
c9215e6be6
Wiring for semantic actions copy, cut, paste (#14295)
* Roll engine to 6921873c71e700235c0f68f0359be2332f93c8bc
2018-01-26 15:44:34 -08:00
Michael Goderbauer
671c1101a4
Change text selection (or cursor position) via a11y (#14275)
Roll engine to 7c34dfafc9acece1a9438f206bfbb0a9bedba3bf
2018-01-26 10:44:41 -08:00
Vyacheslav Egorov
c23509e9fd
Unpin test and upgrade packages (#14282)
* Unpin package:test and upgrade packages

* Update packages/flutter/test/foundation/stack_trace_test.dart

* Also add packages/flutter_tools/test/data/asset_test/font/.dartignore to ensure that update-packages --force-upgrade does not crash.
2018-01-26 10:40:03 -08:00
xster
667f478506
CupertinoPicker part 4 - create CupertinoPicker and add gallery demo (#14091)
* controller, position and test

* Make controllers swappable

* WIP

* Create a ListWheelScrollPhysics

* Created picker and gallery demo and testing now

* Works. Ready to document and test.

* Document and add tests. Make the scroll controller more generic.

* minor cleanup

* review

* review

* fix tests

* stop using TransformLayers for now
2018-01-25 16:31:43 -08:00
Ian Hickson
b6c6e36589
Move UTF-8 decoding off the main thread. (#14206)
This reduces the jank of bringing up the license screen further.
The remaining lost frame or two are caused by Dart itself, see:

   https://github.com/dart-lang/sdk/issues/31954
   https://github.com/dart-lang/sdk/issues/31959
   https://github.com/dart-lang/sdk/issues/31960

Fixes https://github.com/flutter/flutter/issues/5187
2018-01-25 13:51:49 -08:00
Alexandre Ardhuin
10f721c8a5
use const instead of final with const declarations (#14253) 2018-01-25 19:28:22 +01:00
Michael Goderbauer
34ff00a752
Add a11y support for selected text (#14254)
Framework side for https://github.com/flutter/engine/pull/4584 & https://github.com/flutter/engine/pull/4587.

Also rolls engine to 4c82c566edf394a5cfc237a266aea5bd37a6c172.
2018-01-25 10:12:02 -08:00
Ian Hickson
97b9579e55
Random cleanup across the tree (#14221) 2018-01-25 09:46:48 -08:00
Vyacheslav Egorov
a5b3139126 Use void as type argument instead of Null where appropriate 2018-01-24 15:25:29 -08:00
Sam Rawlins
5ae770345a Self-execute closure passed to assert (#14235) 2018-01-23 13:46:14 -08:00
Michael Goderbauer
8059aea365
TextFields should only have one SemanticsNode (#14219)
* scrolling node eleminated

* remove second node

* fix ids
2018-01-22 18:12:39 -08:00
Hans Muller
773902c59d
Fix _RenderDecoration.debugDescribeChildren() (#14217) 2018-01-22 17:14:44 -08:00
xster
e64d44ca78
CupertinoPicker part 1 - create a generic ListWheelScrollView (#13783)
* Create ListWheelScrollView

* fix missing doc

* tweak docs a bit

* fix imports

* Add some tests

* review

* review and transform tests

* fix test

* repatch lost 977701cf69

* review

* Review
2018-01-22 12:02:32 -08:00
Tan Jay Jun
de023bc6f4 Improve SystemChrome documentation (#14181) 2018-01-22 11:08:17 -08:00
Ian Hickson
a29d723c59
[H] Move the splitting of licenses to an isolate (#14160)
* Move the splitting of licenses to an isolate

This improves (from horrific to terrible) the performance of the
license screen. It also introduces a feature in the foundation layer
to make using isolates for one-off computations easier.

The real problem that remains with this, though, is that transfering
data between isolates is a stop-the-world operation and can take an
absurd amount of time (far more than a few milliseconds), so we still
skip frames.

More work thus remains to be done.

* - Add profile instrumentation to the isolate compute() method
- Add profile instrumentation to the LicensePage
- Add profile instrumentation to the scheduleTask method
- Make scheduleTask support returning a value
- Make the license page builder logic use scheduled tasks so that it doesn't blow the frame budget
2018-01-20 01:42:55 -08:00
Hans Muller
677f218ef6
Added InputDecorationTheme (#14177) 2018-01-19 22:53:29 -08:00
Sam Rawlins
7ffcce84a2 Bump async, http, and vm_service_client packages (#14136) 2018-01-19 14:59:16 -08:00
Ian Hickson
bed71b9a15
Make FadeTransition more efficient (#14155)
* Make FadeTransition more efficient

* Update fade_transition_test.dart

* Update proxy_box.dart
2018-01-18 20:22:22 -08:00
Ian Hickson
3ac9449ad4
Fix the confusing-zero case with NestedScrollView. (#14133)
* Fix the confusing-zero case with NestedScrollView.

* Update mock_canvas.dart

* Update tabs_demo.dart

* more tweaks
2018-01-18 20:21:15 -08:00