* Handle a missing ListView separator as an error
* Handle missing item, and errors in itemBuilder and separatorBuilder
* CR fixes and move error handling into sliver.dart to handle all ListView constructors
* Only show an error for null separatorBuilder value in debug mode
* Added support for passing in velocity and offset into Draggable.onDragCompleted.
* Fixed documentation of DragCompletedCallback.
* Spun off previous onDragCompleted breaking changes into new callback called Draggable.onDragEnd.
* Revert "Fixed documentation of DragCompletedCallback."
This reverts commit 069051f5be0d4ec6a1f4b3f072e535ca87e5d740.
* Revert "Added support for passing in velocity and offset into Draggable.onDragCompleted."
This reverts commit 7ef744aa5645429b7bc92527226203ee8bff68ec.
* DraggableDetails constructor is now declared first as per Flutter code style.
* Draggable.onDragEnd will only call back if its widget is currently mounted to the tree.
* Moved "});" in DraggableDetails constructor to new line, vertically aligned with the constructor name, as per Flutter code style.
* Added space between if statement in drag_target.dart.
* widget.onDragEnd call is now formated as per flutter code style.
* Added more details to DraggableDetails documentation.
* Added brackets to if statement block as per Flutter code style.
* Fixed minor nits in DraggableDetails documentation.
* Made DraggableDetails constructor public. Also added documentation for its constructor.
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.
This rewrites the sample code analysis script to be a little less of a hack (but still not pretty), and to handle snippets as well.
It also changes the semantics of how sample code is handled: the namespace for the sample code is now limited to the file that it appears in, so some additional "Examples can assume:" blocks were added. The upside of this is that there will be far fewer name collisions.
I fixed the output too: no longer will you get 4000 lines of numbered output with the error at the top and have to grep for the actual problem. It gives the filename and line number of the original location of the code (in the comment in the tree), and prints out the source code on the line that caused the problem along with the error.
For snippets, it prints out the location of the start of the snippet and the source code line that causes the problem. It can't print out the original line, because snippets get formatted when they are written, so the line might not be in the same place.
Re-landing #23412 with a fix to the PlatformLayer's addToScene signature.
#23412 was broken by the change to Layer done in #23434.
It seemed green as the presubmits were done before #23434 was landed, and when #23412 landed it broke the build.
Reverts #23779
This PR adds the full framework stack (layer->render object->widget, and
service) for embedding iOS views with minimal functionality.
I allowed myself to throw the entire framework stack in one PR since we're mostly
mirroring the structure we already established for embedded Android views, so this PR
is a little bigger than usual. I'm happy to break it down to the
different pieces of the stack if reviewers prefer.
Specifically this PR adds:
* A UiKitView widget for embedding a UIView in the widget tree.
* A RenderUiKitView which is the render object for showing a
UIView.
* A PlatformViewLayer which denotes the position of a UIView in the
layer tree.
* The iOS platform_views system channel client code in services/platform_views.dart
* Splits the fake platform views controller to an Android and iOS
controllers.
TBD in following PRs:
* Plumb the layout direction all the way to the platform view (currently
there is still no engine support for it).
* Integrate with gesture arenas (engine support is still missing as
well).
* Avoid abbreviations
* Sample code for AppBar.leading
* Add a test for OverflowBox/FractionallySizedBox
* Minor wording improvements in the text.
The words "note that" here don't really contribute to the flow.
* Improve documentation
* Potential performance win in hit testing
Rather than copying the list every time we access `path`, this just
exposes it as an `Iterable`. People who want to copy it can use
`toList()`.
(This isn't a breaking change since code that expects a `List` is
still going to get one.)
* Enforce the Oxford Comma.
* Revert "Revert "make LocalHistoryRoute a proper super-mixin (#23382)" (#23430)"
This reverts commit 3bbb3082b89ada4b0c44396148f3c2de731d1c6d.
This relands the LocalHistoryRoute change. The analyzer bug has been fixed.
* mark dartdocs as flaky