576 Commits

Author SHA1 Message Date
Chinmay Garde
56052c70af
Rename the shell namespace to flutter. (#8520) 2019-04-09 17:10:46 -07:00
Matt Carroll
5279132687
Android Embedding PR27: Fix SurfaceView flicker in Fragment transactions (#8504) 2019-04-09 13:45:25 -07:00
Chinmay Garde
eec74e5c92
Rename the blink namespace to flutter. (#8517)
Some components in the Flutter engine were derived from the forked blink codebase. While the forked components have either been removed or rewritten, the use of the blink namespace has mostly (and inconsistently) remained. This renames the blink namesapce to flutter for consistency. There are no functional changes in this patch.
2019-04-09 12:44:42 -07:00
Matt Carroll
dbcfc504cc
Android Embedding PR26: Offer an async version of FlutterMain's ensure initialization complete. (#8465) 2019-04-08 14:46:41 -07:00
Alan Doubleday
075b4899d0 Support ContextWrapper when FlutterView is instantiated within a Fragment. (#7776) 2019-04-08 10:30:36 -07:00
Matt Carroll
d3fbaea9a4
Android Embedding PR25: Prevent black rectangle when launching FlutterActivity (#8460) 2019-04-05 15:59:12 -07:00
Chinmay Garde
424045c3f2
Enable shutting down all root isolates in a VM. (#8457)
This reverts commit 800ea0a40397d53311715e0de94f0340195bfcea.
2019-04-05 13:34:40 -07:00
Matt Carroll
6bc33b5e14
Android Embedding PR24: Allow FlutterActivity to provide an engine, also adjust FlutterFragment timing to avoid Activity launch lag. (#8448) 2019-04-05 13:04:17 -07:00
Chinmay Garde
800ea0a403
Revert "Enable shutting down all root isolates in a VM. (#8402)" (#8431)
This reverts commit b59c4436ce9fb8aa09bad6eb5ca729350a3ab272.
2019-04-03 17:08:56 -07:00
Chinmay Garde
b59c4436ce
Enable shutting down all root isolates in a VM. (#8402) 2019-04-03 15:44:29 -07:00
Chris Bracken
9acdf1837f
Make AccessibilityViewEmbedder final (#8429)
Since this class implements equals() and hashCode() it should either be
final or handle subclasses in equals(); given this is unlikely to be
subclassed, making it final is the simpler option.
2019-04-03 15:06:11 -07:00
Chris Bracken
804d54ddff
Eliminate unused displayBounds parameter (#8427)
Use of this parameter was eliminated in 37947f9.
2019-04-03 14:28:29 -07:00
Amir Hardon
82071e9161
Don't access a11y APIs with reflection starting Android P. (#8393) 2019-03-31 23:21:51 -07:00
Jason Simmons
ca7623eb39
Handle null values in TextInputConfiguration.actionLabel JSON (#8377)
Fixes https://github.com/flutter/flutter/issues/29798
2019-03-29 17:15:04 -07:00
Jason Simmons
71d59cde9e
Check for hover motion events in AndroidTouchProcessor (#8376)
Fixes https://github.com/flutter/flutter/issues/30122
2019-03-29 15:42:11 -07:00
Chinmay Garde
86f4b741b8
Move libdart selection into its own target in //flutter/runtime. (#8373)
Cleanup repeated rules.
2019-03-29 14:29:09 -07:00
Chinmay Garde
a1a2129bc4
GN Format all files in the engine. (#8369) 2019-03-29 12:44:57 -07:00
Jason Simmons
930033d95c
Create a new resource loading EGL context for each PlatformView instance on Android (#8330)
Using one global resource loading context will fail if two PlatformViews are
running concurrently with two different IO threads.
2019-03-28 11:33:56 -07:00
Amir Hardon
37947f961a
Allow delegation of a11y events from nodes that were not yet traversed (#8333)
The AccessibilityViewEmbedder was not delegating a11y events coming virtual nodes(of the embedded view) that were not previously traversed by the a11y framework.

It turns out the a11y framework might leave parts of the tree untraversed in some circumstances, changed the behavior to create an originId<-->flutterId mapping on the fly when an event is delegated from a not previously traversed node.

Fixes flutter/flutter#30010.
2019-03-27 15:49:15 -07:00
Matt Carroll
7620056277
Android Embedding PR22: Polish - FlutterActivity Intent factories, FlutterFragment control of render modes, FlutterSurfaceView transparent until rendering is ready. (#8317) 2019-03-27 14:57:23 -07:00
Amir Hardon
345ae7d373
Delegate a11y events and action to/from embedded Android platform views. (#8250)
Delegate a11y events and action to/from embedded Android platfrom views.

This handles delegation of:
  * AccessibilityNodeProvider#performAction
  * ViewGroup#requestSendAccessibilityEvent
  * View#onHoverEvent

Additionally updates the currently input accessibility focused node state that is
tracked by the a11y bridge when an embedded view's node is focused.
2019-03-25 14:26:49 -07:00
Jason Simmons
68bd4f2c64
Do not drop the DartExecutor's message handler when a FlutterNativeView is detached from the FlutterView (#8254)
An activity can use ViewFactory.retainNativeFlutterView to reuse a
FlutterNativeView across multiple instances of the activity.  In this
scenario, the FlutterNativeView should continue to handle incoming messages
sent from Dart.
2019-03-21 18:08:58 -07:00
Amir Hardon
06635d38a9
Mirror Android platform views a11y tree in the Flutter a11y tree. (#8237)
This PR mirrors virtual a11y tree of embedded platform views in the Flutter
a11y tree.

Non virtual hierarchies are not currently supported.

Only works on Android versions earlier than Android P as it relies on
reflection access to hidden system APIs which cannot be done starting
Android P.

A11y is not yet working as we also need to delegate a11y events from the
platform view to the FlutterView. This will be done in a following PR to
keep the change size a little saner.
2019-03-21 15:26:44 -07:00
Matt Carroll
28433c513c
FlutterJNI no longer asserts it is attached when dispatching platform messages and instead fizzles with a warning if not attached. Not sure what root cause of issue is, but this is necessary to avoid crashes. (#8246) 2019-03-21 13:45:13 -07:00
Jason Simmons
fa435385b6
Use the GPU thread for Android surface on-screen context lifecycle operations (#8234)
Fixes https://github.com/flutter/flutter/issues/29679
2019-03-20 17:43:53 -07:00
Matt Carroll
188adf7e5e
Removed Activity reference from AccessibilityBridge by using a View for insets instead of the Activity (#18115) (#8231) 2019-03-20 14:18:34 -07:00
Amir Hardon
6a8a45fc4f
Have the AccessibilityBridge attach/detach itself to the (#8229)
PlatformViewsDelegate.

Since onDetachedFromWindow can be called after the activity was
destroyed, the previous call to detach the accessibility bridge could
have crash as the NativeFlutterView was already null.
2019-03-20 12:26:30 -07:00
Matt Carroll
1dbd2046b5
Moved io.flutter.embedding.engine.android package to io.flutter.embedding.android (#8221) 2019-03-20 11:30:49 -07:00
Amir Hardon
45f69ac471
Plumb a reference of PlatformViewsController and AccessibilityBridge to each other (#8208)
This is in preparation for implementing platform views a11y on Android.

And e2e working prototype is available here: https://github.com/amirh/engine/tree/a11y_hacks

flutter/flutter#19418
2019-03-19 15:48:45 -07:00
Matt Carroll
b32d0ab982
Bugfix: Prevent crash when responding to a platform message after FlutterJNI detaches from native (#28651). (#8170) 2019-03-14 21:13:03 -07:00
Matt Carroll
09db84fad6
Android Embedding PR 19: Add accessibility to new FlutterView. (#8109) 2019-03-14 14:24:49 -07:00
liyuqian
66fdeb163e
Add dump-shader-skp switch to help ShaderWarmUp (#8148)
Allow Flutter to automatically dump the skp that triggers new shader compilations. This is useful for writing custom ShaderWarmUp to reduce jank. By default, it's not enabled to reduce the overhead. This is only available in profile or debug build.

Later, we can add service protocol support to pull the skp from the client to the host. Currently, it works fine for Android-based devices (including our urgent internal clients) where we can `adb shell` into the cache directory.
2019-03-14 12:58:09 -07:00
Jason Simmons
fcc66fc235
Suppress deprecation warning for use of Build.CPU_ABI (#8154) 2019-03-13 14:36:35 -07:00
Jason Simmons
b1b388f1c2
Encode scroll motion events in the Android touch processor (#8149) 2019-03-13 11:30:42 -07:00
Jason Simmons
9f50dae33f
Look up ICU symbols based on the path to libflutter.so as a fallback (#8139)
The ICU data is packaged within libflutter.so, and the engine uses
dlsym(RTLD_DEFAULT) to look up the ICU data symbols in the libraries
loaded by the process.

This approach apparently fails on some Xiaomi devices.  If RTLD_DEFAULT
can not find the symbols, then the platform will pass the path to the
libflutter.so library so the engine can use that to resolve the symbols.

Fixes https://github.com/flutter/flutter/issues/28208
2019-03-12 18:33:33 -07:00
Matt Carroll
8b0df6ded5
Bugfix #29203: NPE in getAccessibilityProvider in old FlutterView. (#8126) 2019-03-11 23:45:03 -07:00
Matt Carroll
20165b3147
Integrated AndroidTouchProcessor within the old FlutterView (#8095) 2019-03-11 16:04:44 -07:00
Michael Goderbauer
bd0f9085e5
Adds a platfromViewId to SemanticsNode (#8055) 2019-03-11 11:30:35 -07:00
Jonah Williams
4e54bc93ca
Guard initialization of touch exploration listener (#8103) 2019-03-09 15:07:26 -08:00
Matt Carroll
718329ce6e
Android Embedding PR 17: Clarify AccessibilityBridge and move logic out of FlutterView. (#8061) 2019-03-08 18:09:04 -08:00
Matt Carroll
edfc0cfaaf
Android Embedding PR 16: Add touch support to FlutterView. (#8034) 2019-03-08 18:08:26 -08:00
Michael Klimushyn
1d10e0eb67
Guard against NewAPI failures (#8048)
Adds minimum SDK checks around minimum APIs.

flutter/flutter#28848
2019-03-08 13:33:58 -08:00
Jonah Williams
ca0bac4fb0
Revert "add signal to pointer kinds" (#8066) 2019-03-06 20:55:34 -08:00
stuartmorgan
dd80fc9ff6
Add engine support for scrollwheel events (#7494)
Adds support for pointer signals, in a way that will support both discrete events (e.g., scroll wheels, flutter/flutter#22762) and continuous gestures (e.g., trackpad scroll, flutter/flutter#21953).

Also exposes these new event options to the embedder. Does not include code to send the
new events from the platform shells.
2019-03-05 14:12:07 -08:00
Matt Carroll
8f1fdcd195
Android Embedding PR 14: Almost done with FlutterFragment. (#8000) 2019-03-04 18:02:24 -08:00
Matt Carroll
fb3e35d6ac
Android Embedding PR15: Add Viewport Metrics to FlutterView (#8029) 2019-03-04 17:12:52 -08:00
Dan Field
a2246c1990
Start of linting Android embedding (#8023)
* Add a tool for running Android SDK lint on Android embedding
2019-03-04 13:55:53 -08:00
Greg Spencer
293cfcaa54
Guard against using Android API not defined in API level 16 & 17 (#8006)
This adds a guard around the call to MotionEvent.isFromSource, which is not implemented in API 16 and 17.

Fixes flutter/flutter#28640
2019-03-01 14:53:22 -08:00
Matt Carroll
fe15149d1a
Android Embedding PR 12: Add lifecycle methods to FlutterActivity. (#7974) 2019-02-28 16:51:17 -08:00
Matt Carroll
6145e9046a
Android Embedding PR 13: Integrated text input, keyevent input, and some other channel comms in FlutterView. (#7979) 2019-02-28 15:02:56 -08:00