32 Commits

Author SHA1 Message Date
xubaolin
4bed76757d
Fix a _WrappedScrollBehavior.shouldNotify bug (#103267) 2022-05-07 11:44:08 -07:00
Alexandre Ardhuin
07f1c20474
add missing trailing commas in list/set/map literals (#102585) 2022-04-27 09:15:35 +02:00
Callum Moffat
30a501801a
Support trackpad gestures in framework (#89944)
* Implement trackpad gestures in framework

* Touch and Pan/Zoom pointers have separate IDs now

* Handle trackpad pointer device type

* Respect supportedDevices for pan/zoom events

* Update after rebase

* Fix check failures

* Avoid error with very short drags

* Address feedback

* Refactor drag event handler

* Address more feedback

* Add some missing punctuation
2022-04-12 19:47:01 -07:00
chunhtai
8f2aaa99ab
Reland "Allow unknown device kind to scroll scrollables (#100800)" (#101301)
This reverts commit baa45a1718e732d0df317766f879f3e7d1b8de2a.
2022-04-04 10:52:06 -07:00
chunhtai
baa45a1718
Revert "Allow unknown device kind to scroll scrollables (#100800)" (#101129)
This reverts commit 000f4d1590322cc229072a6e9616051cab074286.
2022-03-31 10:45:41 -07:00
chunhtai
000f4d1590
Allow unknown device kind to scroll scrollables (#100800) 2022-03-29 13:05:09 -07:00
Kate Lovett
48b51c3f72
Fix ScrollBehavior copyWith (#91834) 2021-10-20 15:36:34 -07:00
Kate Lovett
8271539451
Conditionally apply clipping in StretchingOverscrollIndicator (#91389) 2021-10-06 17:13:02 -07:00
Kate Lovett
d8da091751
Android 12 overscroll stretch effect (#87839) 2021-08-11 16:36:53 -05:00
Greg Spencer
3f56178df8
Convert some more widget tests to NNBD (#68129) 2020-10-15 11:26:11 -07:00
Jonah Williams
b1d17c914d
Deprecate VelocityTracker default constructor and added VelocityTracker.withKind constructor (#66043)
We've gotten feedback that the VelocityTracker change was disruptive, though it did not break any of the flutter framework or customer tests. In order to make the change non-breaking, PointerDeviceKind parameter can be made optional.

Nevertheless, this parameter should be provided so that the existing touch handlers can use more accurate gestures on mouse/stylus inputs, so we can encourage this by deprecating the default constructor and pointing users towards the VelocityTracker.withKind constructor that takes a non-optional parameter
2020-09-17 15:18:31 -07:00
Jonah Williams
29898812d4
[framework] make hit slop based on device pointer kind for drag/pan/scale gestures (#64267)
Currently the framework uses fairly large "hit slop" values to disambiguate taps from drags/pans. This makes sense on touch devices where the interaction is not very precise, on mice however it can feel as if the UI is lagging. This is immediately noticeable on our infra dashboard, where it takes almost half of a grid square of drag before the actual drag kicks in.

One potential solution is to always use smaller constants depending on whether the interaction is mouse or touch based. The only reasonable choice is to use the pointer device kind and not target platform - same platform can have different input sources. This requires exposing the pointer device kind in a few new places in several of the gesture detectors, and using the enum to compute the correct hit slop from an expanded set of constants.

This almost works, however there are a few places (notably ListViews) which uses the touch hit slop as a default value in scroll physics. It does not seem like it will be easy to disambiguate a user provided scroll physics constant from the default and/or adjust it somehow - this might require significant changes to scroll physics which I have left out of this PR.

This PR does not adjust:

kTouchSlop used in scroll_physics.dart's minFlingDistance
kTouchSlop used in PrimaryPointerGestureRecognizer/LongPressGestureRecognizer
2020-09-08 15:53:36 -07:00
LongCatIsLooong
cea055ef00
Make Scrollable's free scroll initial velocity matches that of iOS (#60501) 2020-08-12 13:31:05 -07:00
Alexandre Ardhuin
4d7525f05c
Opt out nnbd in packages/flutter (#59186)
* add language version 2.8 in packages/flutter

* enable non-nullable analyzer flag
2020-06-11 14:11:30 +02:00
Dan Field
8b2993337a
revert #48985 (#49572) 2020-01-27 14:36:02 -08:00
Anthony
b67d5ec6e9 [a11y] Make sure RenderFractionalTranslation updates its semantics after the translation field is set (#48985) 2020-01-17 15:13:01 -08:00
Alexandre Ardhuin
003541499b use isA<Xxx>() matcher (#48482) 2020-01-16 12:43:03 -08:00
Alexandre Ardhuin
dfbd585668 implicit-casts:false in flutter/test (#46245) 2019-12-16 15:03:02 -08:00
Ian Hickson
449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Alexandre Ardhuin
d927c93310
Unnecessary new (#20138)
* enable lint unnecessary_new

* fix tests

* fix tests

* fix tests
2018-09-12 08:29:29 +02:00
Ian Hickson
6599271bf5
Revert matcher package (#18614)
The new matcher package deprecates isInstanceOf which seems eggregious.
2018-06-19 17:22:56 -07:00
Greg Spencer
08d1ec36de Roll engine to 0c119932c0d6cb30dafd75ec717d1eda76fd7651 (#18575) 2018-06-19 09:58:20 +02:00
Ian Hickson
17c50693b1
Rationalize the ScrollMetrics cloning logic (#14281) 2018-01-31 17:10:56 -08:00
Adam Barth
c288c7064f Refactor scrolling code to prepare for nested scrolling (#9575)
This patch reworks some of the guts of scrolling to make it easier to
implement nested scrolling effects. The actually nested scrolling effect
will be included in a later patch.
2017-04-24 23:32:55 -07:00
Alexandre Ardhuin
9541848272 make @immutable const classes (#9532)
* make @immutable const

* fix build
2017-04-21 23:09:42 +02:00
Chris Bracken
46291903e0 Declare locals final where not reassigned (tests) (#8566) 2017-03-03 17:43:22 -08:00
Adam Barth
e0b12ca17e Two becomes one (#8253)
Rename all the "2" classes related to scrolling to remove the "2". Now that the
old scrolling code is gone, we don't need to use the suffix.
2017-02-17 14:06:15 -08:00
Adam Barth
a816611de1 Port remaining ScrollableViewport tests to SingleChildScrollView (#8129)
Also, rename ScrollableMetrics to ScrollMetrics, which follows the
naming convention for most of the other classes (e.g., ScrollPosition,
ScrollPhysics).

Finally, fix a bug whereby SingleChildScrollView could not have a
GlobalKey, because, write test, find bug.
2017-02-13 23:41:27 -08:00
Adam Barth
3a43fc88b6 Remove extraneous uses of scrollableKey from tests (#7775)
This patch removes unnecessary uses of scrollableKey from tests.
Scrollable2 will likely use a different mechanism for identifying
itself, so we want to focus on the uses of scrollableKey that will need
to be addressed in the new implementation.
2017-01-31 23:32:10 -08:00
Alexandre Ardhuin
c8447c91a9 prefer_const_constructor in packages/flutter/test (#7181) 2016-12-09 15:20:27 -08:00
Ian Hickson
9c1a24fa72 Reexport meta from foundation. (#6938) 2016-11-18 21:22:32 -08:00
Ian Hickson
57be959887 Rename test/widget to test/widgets to match the library (#6716) 2016-11-07 10:03:11 -08:00