39 Commits

Author SHA1 Message Date
Hixie
d0e17e679a Track whether accessibility is enabled.
If we send accessibility events when accessibility is disabled, we crash.
2016-02-05 10:05:57 -08:00
Hixie
707ff9b4e2 Implement hover touch exploration mode on Android. 2016-02-04 16:56:07 -08:00
Hixie
0fa8524288 Android accessibility focus support
This lets you focus and unfocus a node.

Still doesn't seem to be enough to actually have the node exposed in
TalkBack. We probably need hover for that (that's next).

(Also fixes a leak for when a subtree has been disconnected; previously
we were only forgetting the top node of the subtree, not the
descendants. Thanks @krisgiesing for catching that.)
2016-02-04 15:53:17 -08:00
Hixie
17806fdb76 Tell Android when the accessibility tree changes
Hard to say if this actually works. We'll find out once we've filled
this out enough that you can walk the tree in Android's Talkback UI.
2016-02-04 14:53:22 -08:00
Hixie
cb789edc94 Make AccessibilityNodeInfos interactive.
This exposes the actions on AccessibilityNodeInfo nodes.
It also tries to make the code that handles reloads more correct.
2016-02-04 14:53:22 -08:00
Hixie
adbb587ab1 Flutter<->Android accessibility bridge
This is another step towards enabling accessibility for Flutter on
Android. It exposes the semantics tree to Android's accessibility API
when accessibility is enabled.

It does not yet:
 - allow one to actually interact with the application via the
   accessibility API
 - expose the accessibility tree to touch exploration
 - implement the accessibility focus API

However, you can see the tree if you run uiautomatorviewer. It is there,
and it matches the UI. At least in Stocks. I didn't test anything else.
2016-02-04 09:15:07 -08:00
Jason Simmons
1782b8f280 Change services to create temporary files that will be deleted by the ResourceCleaner
If the Sky shell process does not have an orderly shutdown, then temporary
files created by services may never be cleaned up.

The ResourceCleaner task will run at the next startup and clean up any files
that match the prefix used by Chromium's temporary file API.  Services will
now use the same prefix for their files.
2016-02-03 11:50:09 -08:00
Jason Simmons
7730a0c123 Implementation of platform services for Android 2016-02-02 16:10:22 -08:00
Devon Carew
7204fc0663 Merge pull request #2335 from devoncarew/start_paused
some work towards a --start-paused flag
2016-02-02 12:20:43 -08:00
Devon Carew
3c83f895ed some work towards a --start-paused flag 2016-02-02 11:44:01 -08:00
Adam Barth
bdacb56cdd Improve IME interface
Instead of providing a stream of mutations, we now provide a the client with
the complete state of the editing control to prevent the two from getting out
of sync.

As a side-effect, we can now move the cursor around when editing a text field.
2016-02-01 20:41:48 -08:00
Jason Simmons
35e3e94e25 Create a new pipe to the ServiceProvider when PlatformViewAndroid starts a Dart isolate
Previously PlatformViewAndroid would create a pipe and hand it off to the
SkyEngine, which would give it to the isolate's DartState.  If a second
isolate is created, the SkyEngine would no longer hold a valid proxy to a
ServicesProvider, and the new isolate's Dart code can not obtain the
servicesProvidedByEmbedder.
2016-01-28 11:13:46 -08:00
Adam Barth
142c5dc5ec Remove almost all uses of base::scoped_ptr
We now use std::unique_ptr more consistently.
2016-01-27 01:05:47 -08:00
Collin Jackson
8d056e02a6 Use the same registration process as GCM for Firebase 2016-01-22 18:23:22 -08:00
Matt Perry
0ee5a29163 Support dynamic registration of mojo services on Android
SkyApplication now reads service info from a services.json file bundled
with the apk. For each service, it registers a method that invokes
connectToService on a named class. This way, third party services can
register themselves.

There's a corresponding change to flutter_tools to generate this
services.json when building an apk that depends on services.
2016-01-21 16:55:51 -05:00
Adam Barth
33d7553e39 Improve handling of window insets on Android
Now that we understand window insets, we don't need to hard-code the size of
the status bar. Also, convert the viewport metrics to be consistently in
physical pixels.
2016-01-21 11:24:17 -08:00
Collin Jackson
9d715b340a Initial Firebase Flutter service implementation 2016-01-08 15:28:07 -08:00
Jason Simmons
a9c22e9d8c Initial work toward exposing the Java native interface APIs in Dart 2016-01-07 15:06:35 -08:00
Adam Barth
241fc21055 Don't destory the engine when detaching from the window
Reading the Android docs, it sounds like an android.view.View can re-attach to
the window after detaching. Previously, we destroyed the engine when we
detached from the window. Now we wait for the activity to be destroyed.

Hopefully fixes #997
2016-01-04 10:39:09 -08:00
Jason Simmons
e55cf62694 Provide callbacks for activity pause and resume events 2015-12-15 18:01:36 -08:00
Matt Perry
6a2f58091f Turn on FLX updater. 2015-12-08 14:41:32 -05:00
Jason Simmons
98427a2763 Tell Flutter about the host platform's locale 2015-12-07 14:27:22 -08:00
Eric Seidel
231ee08fd7 Add support on Android for --trace-startup
Now 'flutter start --trace-startup' can trigger this tracing
on Android

@chinmaygarde
2015-12-03 12:25:26 -08:00
Eric Seidel
d91d60d449 Give the java ui thread a name in trace files
@abarth
2015-12-03 11:25:04 -08:00
Eric Seidel
a92597ee07 Add various trace events for tracing startup
@abarth
2015-12-02 12:18:20 -08:00
Chinmay Garde
34696334a4 Allow capturing unified (Dart and base) traces from observatory
* Start capturing via <obs_host>:<obs_port>/flutter_startTracing
* Stop capturing via <obs_host>:<obs_port>/flutter_stopTracing
2015-12-01 13:26:53 -08:00
Adam Barth
68dfad8e92 Add --flx flag to load FLX files
Also, remove the --snapshot flag because using FLX files is the path we're
paving.
2015-11-27 23:14:07 -08:00
krisgiesing
4dad72a7d2 Merge pull request #2109 from krisgiesing/remove_statics
Remove static data from Java keyboard-related service implementations
2015-11-24 15:38:35 -08:00
Kris Giesing
e37a1e0c38 Remove static data from Java keyboard-related service implementations
Fixes #299
2015-11-24 15:04:29 -08:00
Adam Barth
a9db805f58 Add system-level routing
We now respect the "route" field in Intents to load a route other than '/'.
Also, use popRoute rather than events to indicate that the framework has asked
us to go back.
2015-11-24 12:40:41 -08:00
George Kulakowski
e60e50386a Add fnl build configuration 2015-11-18 13:07:19 -08:00
Adam Barth
4e0ec4c23b Fix the units for Pointer events
The time_stamp is supposed to be in microseconds. Previously we were using
milliseconds.
2015-11-17 11:21:58 -08:00
Adam Barth
9dc71cb51f Refactor how we wire up platform services
Now the control flow for wiring up platform services starts in the
platform-specific code. Previously we started in shared code, which was
imposing constraints on the startup sequence for all platforms. Now that we
start in platform-specific code, we'll be able to add better support for Mojo
in a future patch.
2015-11-16 12:24:28 -08:00
Adam Barth
3082e82586 Merge pull request #2054 from abarth/rm_network
Remove sky:🐚:Engine's dependency on network_service
2015-11-16 09:50:23 -08:00
Adam Barth
33a1cd3e87 Remove sky:🐚:Engine's dependency on network_service
We weren't using the network service for anything.
2015-11-16 09:22:06 -08:00
Adam Barth
56601fcfa3 Wire sky_shell.mojo to draw via MGL
After this patch, we can execute Dart code and draw the result via MGL. We
still need to plumb in services.
2015-11-14 07:42:25 -08:00
Adam Barth
96b847cd43 Wire sky_shell.mojo up to native_viewport
After this patch, we can execute Dart code an create an X window. There's a
sketch of some graphics code, but it's not wired up yet.
2015-11-13 14:00:34 -08:00
Adam Barth
04391cf941 Add a basic sky_shell.mojo
Currently sky_shell.mojo can't load any Flutter apps or draw to the screen, but
that will come in later patches.
2015-11-11 14:06:55 -08:00
Adam Barth
846e7fcc99 Move platform-specific code for sky/shell into sky/shell/platform
This patch prepares us to add support for Mozart.
2015-11-11 13:31:18 -08:00