126 Commits

Author SHA1 Message Date
Michael Goderbauer
7f7634fa17
Add SemanticsFlag for Header (#4752) 2018-03-06 15:43:13 -08:00
Michael Goderbauer
16fe8f6b98
Use android.view.View as default for a11y nodes (#4737) 2018-03-05 09:51:08 -08:00
Sarah Zakarias
a00f8e8bc0
Read assets out of APK on Android (#4742) 2018-03-05 14:09:45 +01:00
Michael Goderbauer
a4b1fccdaa
Fix traversal order for a11y scrolling (#4726)
Fixes https://github.com/flutter/flutter/issues/14987, but why?
2018-03-01 04:53:58 -08:00
Greg Spencer
f5a4a93787
Swap setTraversalBefore to setTraversalAfter, since setTraversalBefore is broken. (#4656)
It seems that setTraversalBefore doesn't work as well as setTraversalAfter for some reason, although I'm using them the same way. Some apps would lock up TalkBack when traversing if setTraversalBefore was set, but not with the equivalent setTraversalAfter.

It's not entirely clear why this is, but I'm going with this to at least get it fixed for apps we know about.

Addresses flutter/flutter#14600

See also flutter/flutter#14607
2018-02-12 10:02:25 -08:00
Michael Goderbauer
a00f94582b
Add accessibilityFocus and loseAccessibilityFocus as a11y actions (#4655) 2018-02-09 17:47:52 -08:00
Michael Goderbauer
8ac6f6efa1
Encode scrolling status into tree (#4647) 2018-02-09 15:39:58 -08:00
Greg Spencer
96acd1a383
Adding semantics traversal order support (#4540)
This adds support for semantics traversal ordering.

It is a companion to flutter/flutter#14060, adding support for a sortIndex in the semantics data passed to the engine.

Addresses flutter/flutter#12187
2018-01-30 13:42:12 -08:00
Michael Goderbauer
3107f167dc
Remove unnecessary trim (#4616)
... which caused trouble for a11y "select all".
2018-01-29 18:12:29 -08:00
Michael Goderbauer
a1e4f2f991
Add semantic actions for copy, cut, and paste (#4592) 2018-01-26 12:11:38 -08:00
Michael Goderbauer
7c34dfafc9
Adds a11y action for selecting text (and moving cursor) (#4589)
See https://github.com/flutter/flutter/pull/14275 for framework side change.

Also includes some minor clean-ups for consistency. 

Required for https://github.com/flutter/flutter/issues/13469.
2018-01-25 15:00:29 -08:00
Michael Goderbauer
4c82c566ed
a11y: Announce changes to cursor position on Android (#4587) 2018-01-24 16:54:14 -08:00
Michael Goderbauer
e4cabae56f
Add a11y support for selected text (#4584) 2018-01-24 15:08:29 -08:00
Michael Goderbauer
c98443ee37
Echo letters and words typed into TextField back (#4574)
Fixes https://github.com/flutter/flutter/issues/13392.
2018-01-22 11:14:12 -08:00
Michael Goderbauer
7173a158db
Announce when checked status changes on Android (#4557)
Fixes https://github.com/flutter/flutter/issues/14092
2018-01-16 23:10:17 -08:00
Michael Goderbauer
e7e94c6307
Properly identify CheckBox and RadioButton on Android (#4547) 2018-01-12 15:27:55 -08:00
Michael Goderbauer
5ce89a0f3d
Fixes crash on Android when activating Now on Tap (#4536) 2018-01-12 10:22:55 -08:00
Jason Simmons
e1b01d7d7b
API version check for AccessibilityNodeInfo.setEditable call (#4522)
Fixes https://github.com/flutter/flutter/issues/13896
2018-01-05 14:45:35 -08:00
Michael Goderbauer
12e0e38a8b
Split SemanticsFlags.isDisabled into two (#4517) 2018-01-04 15:15:54 -08:00
Alexander Aprelev
6bacf4522e
This adds RPC call to set asset path. (#4323)
* This adds rpc call to simply set asset path.

This is needed when doing hot reload to pick up updated assets.

* Move asset_directory fetch for after view_id. Clean up return. Fix formatting.

* Add SetAssetBundlePath methods implementations for mac and ios

* Fix mac mm

* Fix formatting

* Merge and use nullptr
2018-01-04 09:48:01 -08:00
Michael Goderbauer
26010cf483
Add SemanticsFlag.isDisabled (#4503) 2018-01-02 15:57:52 -08:00
Sarah Zakarias
00e9b362d5
Read FlutterAssetsDir from the Android manifest XML file (#4485) 2017-12-21 09:26:16 +01:00
Michael Goderbauer
937bde8f98
A11y nodes with only value or hint are focusable (#4481) 2017-12-20 11:15:10 -08:00
Sarah Zakarias
4cbe26dd37
Handle Flutter assets outside FLX (#4343) 2017-12-13 10:55:24 +01:00
Michael Goderbauer
e07eafae1d
Roll forward: Parameters for SemanticActions; a11y text selection (#4452)
Reverts the revert in #4448 with fixes to pass on the bot.

This change will require framework changes in flutter/flutter#13490.
2017-12-12 14:25:45 -08:00
Chris Bracken
6c6b709b2c
Model Android keyboard height as view inset (#4447)
Model top and side system insets as padding and bottom (keyboard) as a
view inset. This avoids applying system insets twice (once as an inset,
once as padding).
2017-12-12 11:04:42 -08:00
Michael Goderbauer
056fd4597f
Revert " Add parameters to SemanticActions; implement extend selection for a11y (#4444)" (#4448)
This reverts commit 59c3a37e6436d60381d9708113228c83ccc6b7f9.
2017-12-12 10:53:15 -08:00
Michael Goderbauer
59c3a37e64
Add parameters to SemanticActions; implement extend selection for a11y (#4444) 2017-12-12 10:06:04 -08:00
Jason Simmons
aaa758d619
Check for a detached FlutterNativeView before sending messages (#4445)
Fixes https://github.com/flutter/flutter/issues/13481
2017-12-11 17:15:21 -08:00
Michael Goderbauer
fb44dce8c2
A11y cursor movements for text fields on Android (#4419)
* a11y cursor movement by character

* focus fixes

* doc fixes
2017-12-06 15:46:35 -08:00
Zachary Anderson
619f452ece
[Android] Extract the PluginRegistry from the FlutterActivity (#4393) 2017-11-30 11:05:55 -08:00
Chris Bracken
93648ef0ed
Expose Window.viewInsets in dart:ui (#4403)
Window.viewInsets is the set of window-relative insets that describe the
area of the window that an application may want to treat as effectively
reducing the size of the content. Typically this is due to system UI
that fully obscures underlying content, such as the keyboard.

This area differs from padding in that padding is the set of insets that
describe the area of the window that may be partially (or fully)
obscured by system UI or physical intrusions into the view area (e.g.
iPhone X sensor housing, status bar, or the iPhone X home indicator
widget).

This patch does not yet enable the iOS bottom edge safe area. Once the
framework has been updated to use viewInsets for bottom-edge occlusions
(today, the keyboard), the bottom safe area will be enabled and
framework patches that depend on it, landed.
2017-11-29 16:27:15 -08:00
Martin Kustermann
5c6ebf7994
Enable flutter engine to also work with .*so files on android (#4298)
* Enable flutter engine to also work with .*so files on android

We would like to be able to use native tools (e.g. simpleperf, gdb) with
precompiled flutter apps.  The native tools work much better with *.so
files instead of the custom formats the Dart VM uses by default.

This CL adds support for being able to load the flutter app from an *.so
file on Android.

* Add sanity check to ensure we have either shared library or instruction snapshot (but not both)
2017-11-21 13:14:50 +01:00
Zachary Anderson
7804e8588a
View destroy listener (#4347)
[Android] Allow persisting a FlutterNativeView across activities.
2017-11-13 13:56:48 -08:00
Jason Simmons
bb55d65085
Delete the native view when destroying the FlutterView (#4356)
Fixes https://github.com/flutter/flutter/issues/12996
2017-11-13 13:16:48 -08:00
Zachary Anderson
f5bdf9b0fc
[Android] Pulls the native platform view out of FlutterView (#4338) 2017-11-09 12:10:00 -08:00
Chinmay Garde
9a960f82f5 Add texture support (eg video, camera) (#4159) 2017-11-02 10:57:29 +01:00
Michael Goderbauer
88cf09ffe6
Identify text fields as such to a11y on Android (#4299)
* Identify text fields as such to a11y on Android

* Add focus flag
2017-11-01 12:59:03 -07:00
Michael Goderbauer
b3d345e323
Android SeekBars announce their value (#4289)
* Android SeekBars announce their value

* style
2017-10-31 10:03:30 -07:00
Alexander Aprelev
ec19da1c80 Initialize service isolate from kernel file, rather than from embedded sources. (#4263)
* Read core platform kernel file during Dart initialization.

Currently service isolate is initialized from the source code parsed by VM.
This CL changes it so service isolate created during Dart initialization
is created from the kernel platform.dill file if it is present in the application
bundle. Then this platform kernel file is kept in dart_init module and reused
for application sciprt isolates.

* Reformat and merge

* Use accessor method

* Avoid passing running_from_kernel param. Add TODO for cleanup. Rename param.
2017-10-24 19:37:24 -07:00
Michael Goderbauer
91071f817b Support for accessibility label and hint (#4264)
* Support for accessibility label and hint

* review comments
2017-10-23 16:46:01 -07:00
amirh
3d013382e6 Add a semantic isButton flag (#4254)
https://github.com/flutter/flutter/issues/11992
2017-10-20 13:15:20 -07:00
Zachary Anderson
57f361dc6a Pass option to reuse an existing runtime controller (#4253) 2017-10-20 10:17:21 -07:00
Michael Goderbauer
b9ad2393cf Set AccessibilityFocus (#4249)
This ensures that accessibility hints are played properly.
2017-10-19 15:09:37 -07:00
Yegor
23f5ccd25c Add alwaysUse24HourFormat and textScaleFactor (#4202)
* systems/settings channel split

* merge textScaleFactor and alwaysUse24HourFormat into flutter/settings channel

* add debugOverrideAlwaysUse24HourFormat

* implement textScaleFactor on iOS

* address comments

* remove debugOverrideAlwaysUse24HourFormat

* clang-format
2017-10-18 16:13:43 -07:00
Zachary Anderson
d3ebce9cf6 Allow a non-main entrypoint (#4238) 2017-10-18 14:19:28 -07:00
amirh
64fb5d0126 make AccessibilityBridge#mOwner final (#4235) 2017-10-18 13:25:07 -07:00
amirh
879c1fb8e1 Support accessibility announcements in the Android AccessibilityBridge (#4232) 2017-10-18 11:10:14 -07:00
Zachary Anderson
faaf321b01 Make Engine::RunBundle* reuse an existing RuntimeController (#4229) 2017-10-17 13:44:09 -07:00
Sarah Zakarias
7fb41d1b6a Read snapshot directly from data dir instead of FLX (#4214) 2017-10-17 15:06:03 +02:00