404 Commits

Author SHA1 Message Date
Amir Hardon
ad4e87d07d
Convert synthesized Android motion events to long and not to int. (#6103) 2018-08-28 12:12:47 -07:00
Jonah Williams
c867305c30
Unconditionally set resource id to empty string (#6096) 2018-08-27 10:54:07 -07:00
amirh
0914926014
Allow passing extra creation parameters for embedded Android views. (#6081)
This allows plugins to pass extra parameters from the Dart side to the
platform view constructor.
2018-08-24 11:15:14 -07:00
amirh
2ff1626335
Support LTR/RTL layout directions for embedded Android views. (#6057) 2018-08-20 16:22:38 -07:00
amirh
c06432da47
Delay the removal of the onDrawListener. (#6052)
In Android O removing the ViewTreeObserver.onDrawListener from the
listener call crashes. Instead we post a runnable to remove it.
2018-08-20 12:13:26 -07:00
Jonah Williams
c23690f0d7
use setContentDescription for controls on Android (#6050) 2018-08-20 09:30:13 -07:00
amirh
be0c3143c5
Add views added to the WindowManager into the presentation view tree. (#6043)
The default WindowManager implementation in Android's Presentation is
delegating addView/removeView/updateViewLayout calls to the global
WindowManager.
This can result in a crash when an embedded view is trying to e.g show a
PopupWindow.

This change adds a custom WindowManager that overrides
addView (and removeView/updateViewLayout) and adds the view to the
presentation's view tree.

Note that views might keep a reference to the window manager which
might be an issue when we move a view from one virtual display to
another (due to a resize). For this reason when re-sizing we are not
creating a new window manager for the new presentation, but updating the
window manager's references to be relevant for the new presentation and
re-use it.
2018-08-17 17:01:42 -07:00
Martin Kustermann
81baff97c2
Switch all embedders to use platform_strong.dill instead of platform.dill (the flutter_tester binary already does this) (#6024) 2018-08-15 17:45:11 +02:00
Chinmay Garde
82c79f85e1
Fix Android Vulkan builds to account for resource context management API updates. (#6020) 2018-08-14 22:20:05 -07:00
Jason Simmons
ea07f27997
Detach the resource context before shutting down the IO thread (#6009) 2018-08-14 13:15:42 -07:00
Stanislav Baranov
74373462e4
Fix codepush breakage caused by #5954. (#5996) 2018-08-10 13:23:51 -07:00
amirh
a389dc595f
Cast MotionEvent timestamps to Number. (#5994)
Dart might choose to marshall the timestamps to a Java Long or Integer.
Casting directly to int was crashing when the timestamp wass a Long.
2018-08-10 12:46:49 -07:00
Keerti Parthasarathy
78f8bcace7
Annotate deprecated methods with @Deprecated (#5976) 2018-08-08 13:02:41 -07:00
amirh
14af0348bc
Complete the AndroidView resize call only after a new frame is ready. (#5968)
This allows the framework to know that a frame with the resized view is
ready and to behave deterministically to workaround the jank issue
described in flutter/flutter/19572
2018-08-07 18:56:34 -07:00
amirh
7e0bb3bbe8
Allow freezing a texture. (#5938)
This is needed to avoid jank when resizing an embedded Android view.
See
https://github.com/flutter/flutter/issues/19572#issuecomment-410400724
2018-08-07 14:43:19 -07:00
Ben Konyi
3cbb5e2067
Persist DartCallbackCache contents across launches (#5947)
* Updated DartCallbackCache to write callback cache to disk which is
restored on engine startup
* Ensure cache isn't moved off disk in iOS
2018-08-07 14:37:19 -07:00
Todd Volkert
7f083e54fe
Don't implicitly fall through in switch statement (#5964) 2018-08-07 13:18:26 -07:00
Jonah Williams
c7ce6dd69c
Apply translation to accessibility tree when in landscape (#5950) 2018-08-07 13:09:18 -07:00
Ben Konyi
aef94b73d1
Reland "Updated background execution implementation for Android" (#5954)
* Reland "Updated background execution implementation for Android" w/ JNI fixes for merge breakages

This reverts commit 5442c0a7da385ac5ebfe7ec66126ee593d84e2a2.
2018-08-07 12:42:22 -07:00
Alexander Markov
5442c0a7da
Revert "Updated background execution implementation for Android" (#5949)
This reverts commit bc885f319b2fdf471cf1efdf733a2f6708bd4665.
2018-08-06 14:10:23 -07:00
Jonah Williams
a5215ce500
Add hasImplicitScrolling SemanticFlag and support in Android bridge (#5941) 2018-08-06 13:57:00 -07:00
Ben Konyi
bc885f319b
Updated background execution implementation for Android 2018-08-06 12:27:57 -07:00
amirh
ffbafc852d
Flush all embedded Android views on hot restart. (#5929)
* Flush all embedded Android view on hot restart.

Adds an OnEngineRestarted method to PlatformView, this is currently only
implemented for Android where we need to use it for embedded views.

* review comments followup

* rename to OnPreEngineRestart, call before Clone
2018-08-03 08:54:12 -07:00
amirh
3b66f20d96
Don't drop MotionEvents with unknown tool type. (#5931)
Instead, send them with the new unknown PointerDeviceKind.

We hit this when running `adb shell input tap` in tests which sends events with
an unknown tool type.

This also fills in a missing conversion for TOOL_TYPE_ERASER.
2018-08-02 16:05:55 -07:00
Michael Goderbauer
a76054f4b6
Switch to minimal ICU data config for flutter (#5922) 2018-08-01 17:24:07 -07:00
Jonah Williams
dcd2956f88
Initial support for more finely-grained a11y features on Window (#5901) 2018-07-31 18:18:19 -07:00
Jonah Williams
236d633a49
Add word movement granularities to android (#5902) 2018-07-30 17:53:17 -07:00
Jason Simmons
46b77937b3
Clear the EGL context only if our context is currently active (#5895)
Fixes https://github.com/flutter/flutter/issues/19566
2018-07-30 09:52:39 -07:00
amirh
5da006472c
Fix wrong conversion of MotionEvent to Flutter's PointerEvent kind. (#5894)
We were sending the toolType values as-is which is wrong, e.g touch
events showed in Flutter as mouse events.
2018-07-27 16:12:26 -07:00
Jason Simmons
f9f40badde
Log uncaught exceptions from JNI calls at a higher priority (#5891) 2018-07-27 14:33:44 -07:00
Chinmay Garde
9f8285ac6c
Remove all dependencies on Garnet. (#5869) 2018-07-26 12:49:34 -07:00
Stanislav Baranov
f480e32347
Support hot reload in corejit mode (#5866)
Since frontend_server --incremental doesn't support --link-platform, instead of baking host app into the snapshot, load it from kernel file when running in debug mode.
2018-07-26 08:52:19 -07:00
Jonah Williams
d559afb320
Support customizing standard accessibility actions on Android. (#5823) 2018-07-25 15:26:02 -07:00
Amir Hardon
d2d8bf3941 Pass touch events to embedded Android views with dispatchTouchEvents.
Was previously calling onTouchEvent directly which doesn't make the
event go through the full pipeline (e.g onInterceptTouchEvent is not
called).
2018-07-25 12:21:51 -07:00
Amir Hardon
2169086529 Synthesize Android MotionEvents with the long form obtain method.
The simple form MotionEvent.obtain method I used before does not allow
to synthesize multi pointer events.
2018-07-25 12:21:51 -07:00
amirh
42bd86d6db
Make the virtual display's presentation window non focusable. (#5845)
When the FlutterView's window loses focus Flutter cannot bring up the
keyboard (so e.g tapping on text fields doesn't work).

This workaround makes sure that Flutter text fields are working but
unfortunately now the embedded Android view cannot bring up the keyboard
as it's window is not focused.

Submitting this until as a stop gap while we're trying to figure out if
it's possible to allow both windows to bring up the keyboard.
2018-07-25 08:51:56 -07:00
Jonah Williams
96f5f5b96c
Semantics framework updates (#5601) 2018-07-20 11:17:59 -07:00
Joshua Seaton
663b4925b8
[fml][fxl] Migrate AutoResetWaitableEvent to fml version. (#5808)
Thanks Jason for the speedy review
2018-07-20 10:12:38 -07:00
Jonah Williams
d1c71e5206
add text capitalization support to ios and android (#5752) 2018-07-19 18:07:18 -07:00
Stanislav Baranov
5d0e13a45b
Fix starting isolate directly from CoreJIT snapshot. (#5798) 2018-07-19 08:55:04 -07:00
Jonah Williams
55b423f07f
Ensure assistiveTechnologyEnabled is initialized when the android view is set up (#5793) 2018-07-18 15:32:38 -07:00
amirh
3054f31837
Add touch events to the platform views method channel API. (#5796) 2018-07-18 15:20:59 -07:00
Jonah Williams
5557e3006e
Fix allocation of JNI byte buffer on API level 22 and below (#5788) 2018-07-17 11:58:42 -07:00
Jason Simmons
316b026807
Handle Android vsync callbacks that occur after the VsyncWaiter has been deleted (#5749)
Fixes https://github.com/flutter/flutter/issues/19159
2018-07-16 12:04:05 -07:00
Jonah Williams
2e57ecd38f
Revert rollback of "add assistiveTechnologyEnabled to window" (#5750) 2018-07-16 09:04:20 -07:00
Jonah Williams
9af920ef22 Revert "Add assistiveTechnologyEnabled flag to window" (#5746)
Reverts flutter/engine#5740
2018-07-13 15:55:49 -07:00
amirh
80a85e4a17
Implement PlatformViewsController. (#5722)
Each platform view created (by a plugin supplied factory) is attached to
a virtual display.
The virtual displays are controlled by VirtualDisplayController objects.
The PlatformViewsController maintains a mapping from a platform view's
id to its VirtualDisplayController, which allows it to operate on the
virtual display for a given platform view ID when asked so over the
method channel.

This is using API level 20 APIs, on lower API levels all platform views
method channel calls are noops.
We can make this work on API 19 with some refactoring to the
TextureRegistry (allow the engine Java code to recycle a texture entry
id).

This CL also adds a platform view id parameter to the
PlatformViewFactory#create() method. This allows plugins to route
platform channel messages to specific instances of a platform view.

TBD in future CLs:
  * Forward touch events to the platform views.
  * Support accessibility for platform views.

flutter/flutter#19030
2018-07-13 14:08:24 -07:00
Jonah Williams
9ece2752aa
Add assistiveTechnologyEnabled flag to window (#5740) 2018-07-13 13:47:31 -07:00
amirh
4d490275f7
gitignore intellij generated folder (#5729) 2018-07-13 09:23:43 -07:00
Jonah Williams
c5a63d28bf
rollback chrome change (#5721) 2018-07-11 15:28:33 -07:00