* Moved stuff around yet
* Fix depedencies
* Add more dartdoc comments to packages
* Remove Cupertino dependency on material
* Removed mountain_view package and added page transition test
* Fix analyze warnings
* Remove commented code
* Partial solution. Still need to stop the animation on the previous page for modal
* Some review notes
* Move the cupertino back gesture controller’s lifecycle management back to its parent
* Reviews
* Add background color
* Directional curves, full screen transition
* Don’t perform the exit animation if the incoming page is a dialog
* It works!
* Test structures
* Add a bunch of more tests and fix the gallery
* One more comment
* Review notes
* final controller
* Use that sweet sweet `is!` keyword
* Play golf, because I’m bitter that there’s no nullable `as` or something in dart
* Remove a space
* Review notes
* Remove the last deprecated test
* Moved stuff around yet
* Fix depedencies
* Add more dartdoc comments to packages
* Remove Cupertino dependency on material
* Removed mountain_view package and added page transition test
* Fix analyze warnings
* Remove commented code
* Some review notes
* Move the cupertino back gesture controller’s lifecycle management back to its parent
* Reviews
* Add background color
* final controller
* Review notes
Rather than rebuilding to blink the cursor, we now pass a
ValueNotifier<bool> to the RenderEditable so that it can simply repaint.
This patch also contains some refactoring towards being able to do the
same thing with the text being edited, but I didn't quite get it
working.
After this patch, there are three major text input widgets:
* EditableText. This widget is a low-level editing control that
interacts with the IME and displays a blinking cursor.
* TextField. This widget is a Material Design text field, with all the
bells and whistles. It is highly configurable and can be reduced down
to a fairly simple control by setting its `decoration` property to
null.
* TextFormField. This widget is a FormField that wraps a TextField.
This patch also replaces the InputValue data model for these widgets
with a Listenable TextEditingController, which is much more flexible.
Fixes#7031
Xcode builds depend on the Python 'six' module. If not present, exit
immediately with a useful error message.
The six module is included in the system default Python installation. We
perform this check in case a custom Python install has higher priority
on $PATH; e.g., due to a Homebrew or MacPorts installation.
This extracts an existing doctor check to use it during the build step
as well.
We now have an explicit focus tree that we manage. Instead of using
GlobalKeys to manage focus, we use FocusNode and FocusScopeNode objects.
The FocusNode is Listenable and notifies when its focus state changes.
Focus notifications trigger by tree mutations are now delayed by one
frame, which is necessary to handle certain complex tree mutations. In
the common case of focus changes being triggered by user input, the
focus notificiation still arives in the same frame.
* wip
* wip
* delete main.m
* readd main.m
* update to use new channel api
* update android
* removed android/
* remove debug print
* remomved main.m
* Update year in copyright
* break long line and update name
* mit comments
* update examples/README
* break line
* update README
* update test
Plugin projects are created by running `flutter create --plugin <name>`.
An example app is also created in the plugin project, using the normal 'create' template, which has been modified to allow for conditional plugin code.
Modified the android package name to match package naming conventions (all lower-case, and must match the directory name).
This patch adds a notification to SliverChildDelegate that says which
children are alive after each layout. The delegate can use this
information to optimize it's underlying model of the children (e.g., by
discarding models for children that are far outside the live range).
Fixes#9045
Also refactors demos list into a class with `synchronized` and
`profiled` properties.
When run with --trace-startup, as we do in this test, the VM stores
trace events in an endless buffer instead of a ring buffer. To avoid
out-of-memory conditions, we restrict timeline collection to a subset.
The new scrolling world marks nodes dirty between frames instead of
waiting for the frame, and we've decided that's actually ok.
There's no test here because the test harness has a bug that hides
this exception. I will submit a separate PR to fix the harness, which
will fix a test that, without _this_ patch, fails. All of which is to
say, this is actually already tested.
* Bump to Dart SDK 1.23.0-dev.10
* allows us to understand flutter usage via telemetry
* brings in `@immutable`
Fixes: #9042
* completer fix
* Update to platform 1.1.1.