Now the text input control knows how to move the caret when you tap
inside the string. There's still some rough edges to polish up, but this
patch is the first step.
Fixes#108
This patch teaches the editing system to paint reasonable selections for
single-line text fields, including for bidirectional text.
Requires https://github.com/flutter/engine/pull/2318
This patch changes the framework to walk the child list forwards so that build
functions with global side effects do sensible things. Specifically, if you
have a number of autofocusable children, the first one the list will acquire
the focus because it gets built first now.
Fixes#182
When introducing Focus widgets for the Drawer (and ModalRoutes), we weren't
actually giving them the focus. Now we move the focus scope when pushing modal
routes.
Fixes#184
Now we recreate the stub every time we try to connect to the keyboard. The
underlying message pipe in the stub cannot be re-used, which is why we
previously asserted.
Fixes#776
Previously, EditableString had many public members because it needed to
implement the KeyboardClient interface. However, that's confusing
because these methods cannot be called directly.
Now EditableString holds a private implementation of the KeyboardClient,
which hides the implementation details.
Fixes#208Fixes#209
RawEditableLine is now responsible for the scrolling behavior, which
removes the need for callbacks between RawEditableLine and Input. It
also fixes a bug whereby the whole Input widget (including its icon)
would scroll when the text got long.
This patch restructures how we size the editing region of the Input widget. Now
RenderEditableLine understands that it's a single-line editing widget and sizes
itself correctly.
Third-party libraries can now provide their own mojo services. They do
so by adding a config.yaml file to their pub package which contains
- a list of service names and java classes which handles that service's
registration.
- a list of pre-built .jar files to statically link with the app's shell
when building the app.
Added TwoLevelList et al, a Material Expand/Collapse List Control
A TwoLevelList can can contain TwoLevelListItems, essentially ordinary list items, or TwoLevelSublists which have a list of items of their own. Tapping on a TwoLevelSublist causes it to expand, showing its items. Tapping again causes it to collapse.