94 Commits

Author SHA1 Message Date
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
Michael Goderbauer
0448bf9bd7 Proper horizontal a11y scrolling on Android (#4163) 2017-10-02 15:46:38 -07:00
gspencergoog
b2a7f4bf8f Add support for system text scale factor. (#4124)
Adds support for system text scale factor, including hooks for Android system settings changes.  iOS hooks will be added in another PR.
2017-09-29 13:19:06 -07:00
Michael Goderbauer
45b11f742d Send scroll progress with a11y event TYPE_VIEW_SCROLLED (#4144) 2017-09-27 11:18:50 -07:00
Jason Simmons
77ec0b5f5b Replace a View.getDisplay call that is not supported on API level 16 (#4139)
Fixes https://github.com/flutter/flutter/issues/12235
2017-09-25 11:25:47 -07:00
Michael Goderbauer
afcc1d1e1f a11y improvements for iOS (#4079)
* Various iOS a11y fixes

* undo

* review comments

* review comments
2017-09-11 14:44:17 -07:00
Jason Simmons
a44146f13b Log instead of asserting when sending a reply message to a defunct engine (#4084)
Fixes https://github.com/flutter/flutter/issues/12037
2017-09-11 14:05:14 -07:00
Michael Goderbauer
81e3f8b86f refactor accessibility channel to use StandardMessageCodec (#4073) 2017-09-07 15:24:47 -07:00
Michael Goderbauer
ccf68cdcb6 Tell Android which SemanticsNodes are focusable (#4067)
A node is considered focusable if it contains information that is interesing to the user. A node that doesn't add any semantic information of its own should not be focusable. It's expected that such a node has children, who have smeantics information and are therefore focusable.

Fixes https://github.com/flutter/flutter/issues/11179
2017-09-06 16:56:23 -07:00
Michael Goderbauer
ceb6d05c2f Adapt semantics event handling to framework changes (#4066) 2017-09-05 16:31:24 -07:00
Michael Goderbauer
d60d630ec6 Wire up basic a11y channel for a11y events (#4054) 2017-09-01 16:40:04 -07:00
Ryan Macnak
ffbefaf477 Initial implementation of idle notification. (#4012)
- Assumes only the Dart VM is interested in idle notification.
 - Gives the VM the time remaining in each frame.
 - Gives the VM 100ms if there is no pending frame.

Issue flutter/flutter#9594
2017-09-01 11:11:25 -07:00
Ian Hickson
60bce44c9f Implement i18n features in the a11y API. (#4029) 2017-08-28 16:12:39 -07:00
Michael Goderbauer
32447c72fc Traverse children from top left to bottom right for a11y (#4017)
* order

* comment fix

* review comments
2017-08-28 12:02:07 -07:00
Michael Goderbauer
8cfa97609c Only expose available semantic scroll actions (#4010)
* Only expose available scroll actions

* formatting

* more formatting
2017-08-25 16:12:50 -07:00
Jason Simmons
0223e293f2 Improve checks for calls into native code made after the platform view has been detached (#3926) 2017-08-17 10:24:12 -07:00
xster
f187a5c219 Create platform API for first frame callback. Use for defer hiding splash screens on Android and iOS (#3956)
* Add back launch screen view until first frame on iOS

* improvements

* Move callback plumbing from ios surfaces to the gpu rasterizer. Didn’t wire java JNI yet.

* Android JNI

* Fix ios reference count and let android engine manage a view on top with launch screen

* Hook up Android activity and view

* review notes

* review notes

* Move thread switching upstream. Use weak references for callbacks.

* Some clean up
2017-08-14 15:44:52 -07:00
Jason Simmons
232f4636e5 Do not send messages if the platform view has been detached (#3927) 2017-07-26 20:04:31 -07:00
Michael Goderbauer
1a4bffc4ba Wire up SemanticsAction Increase and Decrease on Android (#3876) 2017-07-17 16:48:50 -07:00
Michael Goderbauer
63bf1d282f a11y: Add SemanticsAction "showOnScreen" (#3856)
This action is triggered when the user swipes (in accessibility mode) to the last visible item of a scrollable list to bring that item fully on screen.

iOS implementation to follow.
2017-07-12 15:52:30 -07:00
Michael Goderbauer
d2d152f201 Fix a11y scroll direction (#3841)
See also https://github.com/flutter/engine/pull/3701
2017-06-29 15:56:17 -07:00
Jason Simmons
1009e9c097 Remove warning about a deprecated accessibility API (#3837) 2017-06-28 12:47:15 -07:00
Jason Simmons
538e103b2c Catch exceptions during invocations of updateSemantics from native code (#3813) 2017-06-22 11:19:32 -07:00
Jason Simmons
b0dee695ec Revert to API level 16 compatible variant of AccessibilityNodeInfo.addAction (#3810)
Fixes https://github.com/flutter/flutter/issues/10855
2017-06-21 12:31:08 -07:00
Jason Simmons
834fb9638e Simplify state management in the Android text editing plugin (#3769)
In particular, this avoids some unnecessary calls to InputMethodManager.restartInput
that caused noticeable lag when moving the cursor.

Fixes https://github.com/flutter/flutter/issues/9928
2017-06-14 10:24:41 -07:00
Michael Goderbauer
1787c3fb1e Adding SemanticsFlag.isSelected (#3764)
* Adding SemanticsFlag.isSelected

* typo
2017-06-09 15:58:30 -07:00
Todd Volkert
b91d2f1bb4 Fix some minor issues with Javadocs (#3761) 2017-06-09 07:35:50 -07:00
Todd Volkert
ec8cbe0fb6 Refactor FlutterActivity to be more composable (#3748)
This factors the functionality that was in `FlutterActivity`
to live in `FlutterActivityDelegate`. This will allow the creation of a
`FlutterFragmentActivity` that has the same core functionality, which in
turn unlocks certain Android plugins that choose to require the v4
support library (like Google Sign-In).

https://github.com/flutter/flutter/issues/10072
2017-06-07 12:28:41 -07:00
Jason Simmons
c457ec6341 AndroidSurfaceSoftware renderer based on NDK native window APIs (#3745) 2017-06-06 16:58:43 -07:00
Sarah Zakarias
f37aafd456 Add setInitialRoute on FlutterView. (#3727) 2017-06-06 10:59:41 +02:00
Jason Simmons
16c411205f Render software rasterizer bitmaps through the SurfaceHolder (#3736) 2017-06-05 12:21:14 -07:00
Gary Qian
796259c089 Allow switching to the software rendering backend on Android. (#3719)
* Enable software rendering backend on android. Add "enable-software-rendering" flag.

* Fix variable naming and threading.
2017-05-31 17:27:47 -07:00
Chris Bracken
75c74dc463 Add inactive, suspending ApplicationLifecycleState values (#3713)
**This is a breaking change on iOS**

Previously, the `paused` state was entered when the application resigned
active status. `inactive` now maps to this status. `paused` now maps to
an app that has been backgrounded.

`inactive` is currently emitted on iOS only and corresponds to iOS's
foreground inactive state.

Current state transitions are:
`resumed` <--> `inactive` <--> `paused`

suspending is currently emitted on Android only and corresponds to the
transition to Android's stopped state.

Current state transitions are:
`resumed` <--> `paused` --> `suspending` --> `resumed`

These transitions may change in future.
2017-05-24 16:34:34 -07:00