54 Commits

Author SHA1 Message Date
creativecreatorormaybenot
c51fba9736
Improve lifecycle docs (#76021) 2021-02-18 14:31:03 -08:00
Michael Goderbauer
918100f8e8
Migrate missed sample code to NNBD (#73509) 2021-01-07 15:44:13 -08:00
Michael Goderbauer
ff05ca2503
Prepare to migrate API doc samples and snippets to null safety (#72040) 2020-12-11 13:39:36 -08:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Alexandre Ardhuin
b007a81ad4
Reland "Nnbd widgets" (#65528)
* Reland "Nnbd widgets (#64672)"

This reverts commit 127e67902e8bbb0dcbfb3351b8fd00f7cbdf0178.

* remove non-nullable enforcement on AsyncSnapshot

* make data param non-nullable for AsyncSnapshot.withData

* make some Text params non-nullable
2020-09-15 16:42:00 +02:00
Michael Goderbauer
127e67902e
Revert "Nnbd widgets (#64672)" (#65488)
This reverts commit e682ec711a8c05fe78157595240b392de339fa32.
2020-09-09 15:18:54 -07:00
Alexandre Ardhuin
e682ec711a
Nnbd widgets (#64672)
* migrate widget to nullsafety

* remove double blank line after license

* address review comments in actions.dart

* nullable ObjectKey.value

* use local variable oldElement

* make State.build non-nullable

* make State.context non-nullable

* newline at eof

* make ProxyWidget.child non-nullable

* make _InactiveElements.debugContains non-nullable

* make Element.depth non-nullable

* make ProxyElement.build non-nullable

* make StatefulElement.state non-nullable

* remove 'Notice that'

* avoid cast of list in RenderObjectElement.updateChildren

* make IndexedSlot.value non-nullable

* avoid cast of list in MultiChildRenderObjectElement.mount

* make some WidgetsApp parameters non-nullable

* hitTest take non-nullable position

* make ScrollableState.position non-nullable

* use _pixels instead of pixels

* make ViewportOffset.pixels non-nullable

* make param and return type of IndexedWidgetBuilder non-nullable

* unused_import

* make context param non-nullable for Builder in animated_list.dart

* make ScrollMetrics.viewportDimension non-nullable

* make ScrollMetrics.{min,max}ScrollExtent non-nullable

* make _Location.file non-nullable

* _WidgetForTypeTests.createElement throw UnimplementedError

* update _NullWidget.build error message

* make _ShortcutsState.manager non-nullable

* Fix childCount issues for NNBD

* fix childCount computation on web

* increase max value on js side to compute childCount

* make aspect parameter of dependOnInheritedWidgetOfExactType nullable

* merge has{min,max}ScrollExtent into hasScrollExtents

* update focus_manager.dart

* address review comments in icon.dart

* address review comments in image.dart

* address review comments in routes.dart

* address review comments in scroll_activity.dart

* update doc comments

* make UserScrollNotification.direction non-nullable and required

* rename hasScrollExtents to hasContentDimensions

* unnecessary late

Co-authored-by: Ian Hickson <ian@hixie.ch>
2020-09-09 10:52:27 +02: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
David Shuckerow
2032760509
Explain how the scroll controller behaves under tests (#50129) 2020-02-06 15:58:02 -08:00
Greg Spencer
fabf4e3d0d Reverse the sense of the terms snippet and sample. (#48254) 2020-01-08 15:28:02 -08:00
Alexandre Ardhuin
4f9b6cf017
enable lint prefer_final_in_for_each (#47724) 2020-01-07 16:32:04 +01: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
5169ab5974
format parameter list (#27261) 2019-02-21 09:27:07 +01:00
Alexandre Ardhuin
66f424f0f8
fix some bad indentations (#26921)
* fix some bad indentations

* remove suspicious line
2019-01-23 15:43:27 +01:00
Alexandre Ardhuin
868ff42821
fix doc-comment snippets (#25579) 2019-01-07 21:44:16 +01:00
Alexandre Ardhuin
e41f1463cd
make see also sections uniform (#25513) 2018-12-18 21:45:20 +01:00
Greg Spencer
a6e901130e
Convert existing '## Sample code' samples to '{@tool sample}...{@end-tool}' form. (#24077)
This converts existing ## Sample code samples to {@tool sample}...{@end-tool} form.

Also:
1. Fixed a minor bug in analyze-sample-code.dart
2. Made the snippet tool only insert descriptions if the description is non-empty.
3. Moved the Card diagram to before the code sample.
2018-11-07 20:35:10 -08:00
Alexandre Ardhuin
0fb84e96c7
Prefer void to null (#22977)
* Future<void> main

* Future<void>.delayed

* prefer_void_to_Null

* address review comments
2018-10-16 22:03:06 +02:00
Alexandre Ardhuin
f62afdcf57
add missing type parameter on methods (#22096) 2018-10-01 21:29:08 +02: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
Alexandre Ardhuin
976cffa24d
lint unnecessary_new on samples (#21539)
* lint unnecessary_new on samples

* fix tests
2018-09-07 11:00:05 +02:00
Alexandre Ardhuin
09276bea25
enable lint prefer_equal_for_default_values (#18156) 2018-06-05 08:50:40 +02:00
Hans Muller
c4e8438046
Added Material OutlineButton (#14939) 2018-03-02 08:26:23 -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
German Saprykin
74b0bf6480 Fix tracking scroll controller (#11914)
* Fixed TrackingScrollController cleaning stored offset on position's detach

* Fixed format.

* Fixed format.

* Fixed test with Directionality support.
2017-09-02 21:15:59 -07:00
Ian Hickson
7b33efb620 Revert "Fixed TrackingScrollController cleaning offset on position's detach (#11798)" (#11897)
This reverts commit ec25f6bd5142d9c3b70d81a7ccf7c77f27dc63f7.
2017-09-01 10:48:05 -07:00
German Saprykin
ec25f6bd51 Fixed TrackingScrollController cleaning offset on position's detach (#11798)
* Fixed TrackingScrollController cleaning stored offset on position's detach

* Fixed format.

* Fixed format.
2017-09-01 10:37:33 -07:00
Ian Hickson
f235a2c104 RTL: Padding, Flex (#11709)
* Introduce a Directionality inherited widget which sets the ambient LTR vs RTL mode (defaulting to null, which means you cannot use directionality-influenced values).

* Make it possible to configure Padding (including Container.padding and Container.margin) using a directionality-agnostic EdgeInsets variant.

* Provide textDirection and verticalDirection controls on Row and Column to make them RTL-aware.

* Introduce a variant of FractionalOffset based on the EdgeInsets variant. Not yet actually used.

* Fix all the tests that depended on Row defaulting to LTR.
2017-08-28 12:50:24 -07:00
Ian Hickson
6655074b37 Fix documentation based on dartdoc's warnings (#11428) 2017-07-28 15:44:38 -07:00
Ian Hickson
8f56f6fdd1 Add documentation and clean up code. (#11330)
Mainly, this adds documentation to members that were previously
lacking documentation.

It also adds a big block of documentation about improving performance
of widgets.

This also removes some references to package:collection and adds
global setEquals and listEquals methods in foundation that we can use.
(setEquals in particular should be much faster than the
package:collection equivalent, though both should be faster as they
avoid allocating new objects.) All remaining references now qualify
the import so we know what our remaining dependencies are.

Also lots of code reordering in Flutter driver to make the code
consistent and apply the style guide more thoroughly.
2017-07-21 16:39:04 -07:00
Hans Muller
daa7860ef0 Add a ScrollController parameter to NestedScrollView (#11242) 2017-07-18 18:24:38 -07:00
Jacob Richman
595cd23c8c Change all occurrences of '$runtimeType#$hashCode' to use the describeIdentity (#10888)
* Revert "Revert "Change all ocurrences of '$runtimeType#$hashCode' to use the idAndType method. (#10871)" (#10880)"

This reverts commit ceb814aa647ecd310794a72a7a5c28820ec57a25.
2017-06-21 10:47:06 -07:00
Jacob Richman
ceb814aa64 Revert "Change all ocurrences of '$runtimeType#$hashCode' to use the idAndType method. (#10871)" (#10880)
This reverts commit d46e208b98d4af93d7029c3e806d443dd51fd116.
2017-06-20 22:14:59 -07:00
Jacob Richman
d46e208b98 Change all ocurrences of '$runtimeType#$hashCode' to use the idAndType method. (#10871)
* Change all instances of '$runtimeType#$hashCode' to use the describeIdentity method.

The describeIdentity method generates a shorter description with a consistent length
consisting of the runtime type and the a 5 hex character long truncated
version of the hash code.
2017-06-20 18:13:28 -07:00
Ian Hickson
6d32b33997 Text selection handles track scrolled text fields (#10805)
Introduce CompositedTransformTarget and CompositedTransformFollower
widgets, corresponding render objects, and corresponding layers.

Adjust the way text fields work to use this.

Various changes I needed to debug the issues that came up.
2017-06-20 09:35:15 -07:00
Hans Muller
0e4dda7736 Improved support for saving and restoring the scroll offset, etc V2 (#10590) 2017-06-08 17:20:36 -07:00
Ian Hickson
6ccc618abd Revert "Improved support for saving and restoring the scroll offset, etc (#10517)" (#10575)
This reverts commit c8e4cbf27d58bec1342d0287f389926fa0e9d9a6.
2017-06-07 18:51:28 -07:00
Hans Muller
c8e4cbf27d Improved support for saving and restoring the scroll offset, etc (#10517) 2017-06-06 12:11:21 -07:00
Alexandre Ardhuin
e3bab988ce preview of prefer_asserts_in_initializer_list lint (#10441)
* preview of prefer_asserts_in_initializer_list lint

* fix issue
2017-06-02 13:15:49 +02:00
Ian Hickson
c8ad201484 Save scroll position when scrolling. (#9740) 2017-05-03 09:59:09 -07:00
Adam Barth
49d32d35ea Add more docs about scrolling (#9711) 2017-05-02 10:46:49 -07:00
Adam Barth
ff8609f273 Document ScrollController (#9705) 2017-05-01 19:18:09 -07:00
Adam Barth
4bac259617 Shift more code to ScrollPosition (#9637)
Previously, ScrollPosition did not know about ScrollActivities. However, all
the concrete subclasses of ScrollPosition that we know about need to use
ScrollActivities, so they ended up with a bunch of delegate boilerplate code.

This patch teaches ScrollPosition about ScrollActivities but doesn't have any
opinion about how to start or interact with those activities.

This patch is more refactoring to prepare for nested and linked scrolling.
2017-04-27 10:30:53 -07: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
xster
bc7801bf8e Remove imports of meta (#9081) 2017-03-29 10:59:18 -07:00
Adam Barth
146fc617ca ScrollController should notify when its offset changes (#8768)
This change make it easier to track the position of the scroll view without
having to worry about the position object changing out from under the
controller.
2017-03-14 14:07:35 -07:00
Chris Bracken
8916b101f3 Avoid potential ConcurrentModificationError (#8534)
Also make locals final where possible.

Followup to 527154679466940189a86e24378c2fa4e5db04a3.
2017-03-02 11:28:30 -08:00
Chris Bracken
5271546794 Better defaulting for scroll view primary-ness (#8506)
* Improved defaults for scroll view primary-ness

* Vertical scroll views default to primary:true.
* Horizontal scroll views default to primary:false.
* If a scroll view is primary and it got a non-null inherited primary
  scroll controller, it introduces a primary scroll controller inherited
  with a value of null for its descendants.

ScrollController now multiplexes writes to all registered positions;
reads of position continue to assert that only one position is
registered. Reads still require a single position.
2017-03-01 16:13:09 -08:00
Ian Hickson
0962dd6a94 More better toStrings and more vigorous smoke testing of gallery (#8237)
* More better toStrings and more vigorous smoke testing of gallery

* Update scroll_controller.dart

* Update sliver.dart
2017-02-17 12:56:25 -08:00
Adam Barth
7cde72fea2 Make remember_scroll_position_test.dart pass (#8074)
We've decided not to store the scroll position in PageStorage because
routes now maintainState by default.

Fixes #8051
2017-02-11 13:13:01 -08:00