685 Commits

Author SHA1 Message Date
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
Gary Qian
7a05fcbdbe
Revert "Remove Samsung workarounds (#17612)" (#18081)
This reverts commit a5e0b2f2f2376cdd87f9c690ae1ab6074321ecc3.
2020-05-01 13:14:27 -07:00
Wings006
84093e844c
make "flutter run --trace-systrace" work. (#18052) 2020-04-30 09:30:24 -07:00
xster
45e6cfd1ff
remove top padding when system UI in fullscreen mode (#17985) 2020-04-28 12:21:37 -07:00
Gary Qian
0273fab759
Hand off presentation properly in VirtualDisplayController.resize() (#17897) 2020-04-23 15:32:20 -07:00
LongCatIsLooong
1df760024d
add missing case for TextInput.requestAutofill (#17857) 2020-04-23 10:52:47 -07:00
Mehmet Fidanboylu
feb94f6c97
Protect LanguageRange behind Android O. (#17882) 2020-04-23 05:59:52 -07:00
Gary Qian
8dc91229b4
PlatformResolvedLocale localization message channel (#17755) 2020-04-21 15:34:44 -07:00
Gary Qian
52a815df0a
Accessibility null check to catch out of bounds hitTest (#17833) 2020-04-21 06:16:42 -07:00
Gary Qian
a5e0b2f2f2
Remove Samsung workarounds (#17612) 2020-04-17 17:38:30 -07:00
Amir Hardon
f13031b026
Dispatch platform view touch events to the presentation (#17792) 2020-04-17 17:19:10 -07:00
Jason Simmons
f9e53c72c6
Unregister the TextInputChannel method handler when the TextInputPlugin is destroyed (#17646)
Fixes https://github.com/flutter/flutter/issues/54275
2020-04-17 14:25:34 -07:00
Michael Goderbauer
f4d6ce13dc
Clear focus if a platform view goes away (#17381) 2020-04-16 13:23:05 -07:00
LongCatIsLooong
cf3d738f50
Android text input autofill (#17465) 2020-04-16 03:41:23 -07:00
Ali Mahdiyar
6b883e9ff7
Fix RTL handling in delete key event for android (#17393) 2020-04-16 01:48:21 -07:00
Jonah Williams
6e1d7f8883
[a11y] Support TalkBack reading by word, character, and paragraph (#17626) 2020-04-15 19:07:12 -07:00
Jason Simmons
beb8a7ec48
Update editing state in InputConnectionAdaptor.setSelection (#17652)
The BaseInputConnection superclass does not call endBatchEdit
in setSelection and therefore does not implicitly cause
InputConnectionAdaptor to send a state update.

Some input modes such as numeric keypads will not function without
these updates.
2020-04-11 17:29:50 -07:00
Gary Qian
2d19576f24
Implement Hashcode for TextEditingValue in InputConnectionAdaptor (#17643) 2020-04-10 16:00:01 -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
Gary Qian
3ddd1ef4b0
Implement repeat filtering logic in Android Embedder (#17509) 2020-04-08 12:51:43 -07:00
Amir Hardon
2fab00eb83
Fix AlertDialogs built by platform views (#17511) 2020-04-06 15:06:07 -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
Dan Field
2e909652ac
Fix bad texture view config (#17486) 2020-04-02 15:06:03 -07:00
Gary Qian
2e5568ede2
Implement getExtractedText in InputConnectionAdaptor (#17426) 2020-04-01 18:51:04 -07:00
Jason Simmons
141d2ea050
Use the private presentation window type for platform view windows (#17385) 2020-03-30 14:26:10 -07:00
Gary Qian
361d5d5320
Partially revert Samsung keyboard force-update workaround (#17391) 2020-03-29 15:46:39 -07:00
renyou
ba80c0c49a
Android change to match the Google internal changes. (#17331)
* Android change to match the google internal changes.

* Fix format.

* Revert format change, add super call.

* Remove comment for API version.
2020-03-25 18:02:46 -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
Matt Carroll
482155b3c6
Fixed splash screen crash when bringing Android app back to foreground after being evicted from memory. (#47635) (#16916) 2020-03-04 11:27:12 -08:00
Edman P. Anjos
9beac71a2e
Add support for software text editing controls (#15560)
* Add support for software text editing controls

Includes selection, copy, cut, paste, as well as partial support for up
and down movement.

Text editing controls can be accessed in GBoard by:
  top-left arrow > three dots menu > text editing

Partial fix for flutter/flutter#9419 and flutter/flutter#37371.

* Introduce InputConnectionAdaptor tests

Run with:
  testing/run_tests.py --type=java --java-filter=io.flutter.plugin.editing.InputConnectionAdaptorTest

* Fix BUILD.gn comment on run_tests.py --java-filter flag
2020-02-28 20:18:04 +01:00
Justin McCandless
02aa865da3
Fix the newline on some keyboards (#16560) 2020-02-20 10:36:03 -08:00
Matt Carroll
f39bc73d6a
Exposes FlutterSurfaceView, and FlutterTextureView to FlutterActivity and FlutterFragment. (#41984, #47557) (#16552) 2020-02-12 19:21:00 -08:00
Gary Qian
c4c6ef6719
Samsung keyboard duplication workaround: updateSelection (#16547) 2020-02-12 19:51:40 -05: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
ca02b9197e
Prevent long flash when switching to Flutter app. (#47903) (#16527) 2020-02-11 15:26:27 -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
Dan Field
826b2d46ef
Apply lints from internal roll (#16509) 2020-02-10 13:53:04 -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
Matt Carroll
9443518f62
Fix safe area reporting with transparent FlutterActivitys. (#46060) (#16208) 2020-02-07 14:57:06 -08:00
Chris Bracken
1a4f4e3943
Fix unused import in Android embedder (#16494)
android.os.Parcelable was added in commit
6d5aaa090abe19ff0f08eb28f6663173750fd80c but never used.
2020-02-07 12:26:50 -08:00
Amir Hardon
7f6149cbdd
Revert "Remove use of the deprecated AccessibilityNodeInfo boundsInPa… (#16355) 2020-02-04 11:43:03 -08:00
Matt Carroll
95468839a0
Added API guards to flags in PlatformPlugin that were introduced after Flutter's min SDK version. (#13965) 2020-02-03 16:25:27 -08:00
Michael Klimushyn
0816c040fb
Deprecated FlutterView v1 points to FlutterView v2 (#16304)
FlutterView#enableTransparentBackground has been deprecated for some
time now since it breaks a11y highlighting in most cases. When the
warning was first added there was no known workaround, but now the v2
embedding is in stable and ready to support this usecase. Update the
warning to point to the v2 embedding.
2020-01-31 15:06:52 -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