162 Commits

Author SHA1 Message Date
Kaushik Iska
110a57983b
Track motion events for reuse post gesture disambiguation (#19484)
This change makes it so that we track all the motion events encountered by `FlutterView` and all of its subviews in the `MotionEventTracker` class, indexed by a unique `MotionEventId`. This identifier is then passed to the Flutter framework as seen in https://github.com/flutter/flutter/pull/60930. Once the gestures take part in gesture disambiguation and are sent back to the engine, we look-up the original motion event using the `MotionEventId` and dispatch it to the platform.

Bug: https://github.com/flutter/flutter/issues/58837
2020-07-06 22:22:37 -07:00
Emmanuel Garcia
0e9b250843
Add @Keep annotation to FlutterMutatorsStack (#19560) 2020-07-06 18:23:47 -07:00
Chris Yang
cc9ccf98ae
Implement mutator stack on Android hybrid composition platform view (#19426) 2020-07-04 13:03:04 -07:00
Jason Simmons
2dc202d823
Basic support for resizing overlay surfaces in hybrid composition (#19402) 2020-06-30 14:08:04 -07:00
Emmanuel Garcia
a28b7f0f37
Implement onDisplayPlatformView (#19344) 2020-06-26 21:08:02 -07:00
Emmanuel Garcia
c332675a8c
Fix hybrid composition bugs (#19325) 2020-06-26 12:33:02 -07:00
Jason Simmons
2b74e8ae8c
Position overlay layer views in PlatformViewsController.onDisplayOverlaySurface (#19295) 2020-06-24 20:48:38 -07:00
Chris Yang
a11c398481
Android platform view static thread merging (#19242) 2020-06-24 15:13:02 -07:00
Emmanuel Garcia
57d1333999
Use public accessor and move keep annotation (#19232)
Fixes an issue introduced in https://github.com/flutter/engine/pull/19221 where
accessing a private field is causing a crash in release mode.

Logs: https://console.firebase.google.com/project/flutter-infra/testlab/histories/bh.60bf482010a9daf5/matrices/8495138397166466033
2020-06-23 09:38:58 -07:00
Gary Qian
637a8e7cd0
Revert method channel platform resolved locale (#19136) 2020-06-19 17:40:22 -07:00
Michael Goderbauer
ed5df03dcd
Word substitutions (#19111) 2020-06-18 11:05:24 -07:00
cg021
2c60d87c39
createOverlaySurface JNI method (#19076)
* createOverlaySurface JNI

* update imports

* remove unused method

* license

* deleted unused file

* remove wrong function call

* removed duplicate createOverlaySurface
2020-06-17 15:21:41 -05:00
Emmanuel Garcia
99442c6c18
Revert add createOverlaySurface JNI #19040 (#19075) 2020-06-16 14:06:15 -07:00
Gary Qian
3a96741247
Platform resolved locale and Android localization refactor (#18645) 2020-06-16 04:29:50 -07:00
cg021
de063512c5
Add createOverlaySurface JNI (#19040) 2020-06-15 19:49:29 -07:00
Michael Goderbauer
f7d241fd8a
Wire up channel for restoration data (#18042) 2020-06-12 16:31:25 -07:00
Dan Field
983b6e198d
Call Shell::NotifyLowMemory when backgrounded/memory pressure occurs on Android (#19026)
* Reland "Call Shell::NotifyLowMemoryWarning on Android Trim and LowMemory events (#18979)" (#19023)"

This reverts commit 0a852d8ad7e0b132d86c0a604f2c41a110f2b3b6.
2020-06-12 15:12:25 -07:00
cg021
7cb7003a11
onEndFrame JNI (#18867)
* onEndFrame JNI

* beginFrame brief change
2020-06-12 16:21:25 -05:00
Emmanuel Garcia
0a852d8ad7
Revert "Call Shell::NotifyLowMemoryWarning on Android Trim and LowMemory events (#18979)" (#19023)
This reverts commit f5ab179e7a793e2bd5d087d59911e99f8b45e6c9.
2020-06-12 12:31:12 -07:00
cg021
ac809b48cb
onBeginFrame JNI (#18866) 2020-06-11 17:15:03 -07:00
Dan Field
f5ab179e7a
Call Shell::NotifyLowMemoryWarning on Android Trim and LowMemory events (#18979) 2020-06-10 17:18:17 -07:00
cg021
82e188d10b
Add onDisplayOverlaySurface JNI (#18859) 2020-06-09 17:07:53 -07:00
cg021
773ac97453
onDisplayPlatformView JNI (#18828)
* missing imports

* onDisplayPlatformView JNI

* imports

* ran ./ci/format.sh | patch -p0

* missing imports

* onDisplayPlatformView JNI

* imports

* ran ./ci/format.sh | patch -p0

* missing imports

* ran ./ci/format.sh | patch -p0
2020-06-08 16:14:39 -05:00
Emmanuel Garcia
fdc457d342
Revert "onDisplayPlatformView JNI (#18786)" (#18826)
This reverts commit c8ab763f79269bf275644cfaa72edeba1c4b0898.
2020-06-04 09:42:51 -07:00
cg021
c8ab763f79
onDisplayPlatformView JNI (#18786)
* onDisplayPlatformView JNI

* format

* add todo in onDisplayPlatformView

Co-authored-by: Emmanuel Garcia <egarciad@google.com>

* move methods

* add platformViewsController setter

* remove unnecessary calls

* remove override and add unit test

* remove override

* test

* mockito

* fix formatting

Co-authored-by: Emmanuel Garcia <egarciad@google.com>
2020-06-04 11:20:45 -05:00
Tong Mu
b3e7732cf9
System mouse cursor: Android (#18569)
Adds system mouse cursor to the Android engine.
2020-06-01 18:08:43 -07:00
chenjianguang
89cf074d37
Setup default font manager after engine created, to improve startup performance (#18225) 2020-05-28 17:53:04 -07:00
Jason Simmons
dc93db5ab8
Move FlutterLoader disk I/O to a background thread to comply with Android strict mode (#18241) 2020-05-13 14:17:03 -07:00
LongCatIsLooong
8b4987382e
add new keyboard types and missing autofill hints (#18202) 2020-05-11 19:41:46 -07:00
Jason Simmons
d1725d7f1e
Restore the call to initConfig in FlutterLoader (#18257)
This was accidentally removed in https://github.com/flutter/engine/pull/18182
2020-05-09 11:49:11 -07:00
Jason Simmons
88b9d42400
Remove the global engine entry timestamp (#18182)
The engine was using a global to store a timestamp representing the
launch of the engine.  This timestamp is initialized with a JNI call
on Android and during shell setup on other platforms.  Later the
timestamp is added to a FlutterEngineMainEnter timeline event used to
measure engine startup time in benchmarks.

This PR removes the global and the JNI call and moves the timestamp
into the settings object.
2020-05-07 11:29:28 -07:00
Ali Mahdiyar
9cdb5a9b6a
Custom unicode handling for Android backspace via JNI to ICU (#17960) 2020-05-06 14:01:02 -07:00
Jason Simmons
663bfe8d61
Remove the ResourceCleaner from the Android embedding (#18072) 2020-05-04 16:34:02 -07:00
Wings006
84093e844c
make "flutter run --trace-systrace" work. (#18052) 2020-04-30 09:30:24 -07:00
LongCatIsLooong
1df760024d
add missing case for TextInput.requestAutofill (#17857) 2020-04-23 10:52:47 -07:00
Gary Qian
8dc91229b4
PlatformResolvedLocale localization message channel (#17755) 2020-04-21 15:34:44 -07:00
LongCatIsLooong
cf3d738f50
Android text input autofill (#17465) 2020-04-16 03:41:23 -07:00
Shi-Hao Hong
63f40903de
Revert getSystemGestureExclusionRects and setSystemGestureExclusionRects (#17613)
* Revert getSystemGestureExclusionRects and setSystemGestureExclusionRects 

* Remove references to removed PlatformChannelTest.java file
2020-04-09 20:44:37 -07:00
Jason Simmons
288b66b1b6
Disconnect from platform views and virtual displays before detaching from the engine (#17379) 2020-04-02 18:16:05 -07:00
Emmanuel Garcia
025e2d82dd
Migrate embedding to AndroidX (#17075) 2020-03-13 21:19:24 -07:00
xster
1ff81bc117
Make a pass through all the embedding javadocs (#17109) 2020-03-13 16:34:34 -07:00
Michael Klimushyn
7c67573896
Fix multiline Javadoc code blocks (#16565)
The formatter didn't understand what was going on here and broke the
text. Changed these to use `<pre>{@code }</pre>` instead.
2020-02-12 15:07:16 -08:00
Matt Carroll
270421c103
Fix ensureInitializationCompleteAsync callback when already initialized. (#39675) (#16503) 2020-02-11 15:25:58 -08:00
Gityuan
5041ff1b1e
support endless trace buffer (#16520) 2020-02-11 15:08:03 -08:00
Michael Klimushyn
077918dcfd
Apply Google Java format (#16501)
This shouldn't result in any logical changes. I've done a quick smoke
test by building a local Android engine and running Flutter gallery, no
compile errors or other obvious issues.

Applied by running `/ci/format.sh | patch -p0` with the altered script
added in flutter/engine#16500. I did locally modify the script slightly
further so it would run against all Java files in the repo instead of
just modified ones.
2020-02-07 16:10:46 -08:00
Jason Simmons
7c95cdada4
Ensure that Android embedding initialization always uses an application context (#16204)
Some parts of the embedding (e.g. VsyncWaiter) may hold global references to
system services obtained through the context used during initialization.
These must not be associated with an activity or other non-application context.

Fixes https://github.com/flutter/flutter/issues/49612
2020-01-31 12:09:38 -08:00
Matt Carroll
eecb5e5c25
Notify PlatformViewsController within FlutterEngine when a hot restart occurs. (#48518) (#16230) 2020-01-30 12:58:41 -08:00
Michael Klimushyn
6fa1fcda8f
Register plugins at the right time, once (#15979)
Currently we're automatically registering plugins both when the
FlutterEngine is constructed and in the `flutter create` template, when
FlutterActivity#configureFlutterEngine is called. The initial
registration is too early to contain a reference to the activity and the
second registration can cause problems in some plugins.

This alters the flow so automatic registration happens in two discrete
places, and contains the `activity` in its first and only call for most
apps.

1. We're no longer automatically registering plugins on `FlutterEngine`
in any of our activities/fragments at construction time. But since the
FlutterEngine default constructor still automatically registers plugins,
anyone constructing the engine themselves (for example, in a service) is
still going to get automatic registration at `FlutterEngine`
instantiation time.
2. We now automatically register plugins in the base `FlutterActivity`'s
`configureFlutterEngine` hook. Anyone using `FlutterActivity` (or
`FlutterFragment`) should be automatically registered once that hook is
called. Right now the `flutter create` template overrides the base class
method with a subclass that registers everything manually in the same
spot. But with this in place we can safely recommend to remove the
subclass and rely on this hook to automatically register going forward.
Registering at this time means `activity` is set correctly.
2020-01-25 00:34:52 -08:00
Matt Carroll
fec9573786
Prevent duplicate plugin registration in FlutterEnginePluginRegistry. (#49365) (#15956) 2020-01-24 15:57:51 -08:00
Michael Goderbauer
0615f45623 Remove unused Imports and private method (#15872) 2020-01-21 17:53:02 -08:00