2544 Commits

Author SHA1 Message Date
Wu Zhong
cfdcfca152
[iOS] Fix platfotm view called multiple times (#19292) 2020-11-18 11:43:02 -08:00
Greg Spencer
4b859cee93
Fix typos and fix some env var state leakage in tests (#22576)
This just fixes some typos, and a small state leak in some of the tests that set env variables.
2020-11-17 21:51:37 -08:00
gaaclarke
1c3bc02649
started providing the GPU sync switch to external view embedders (#22302) 2020-11-17 18:43:01 -08:00
Kaushik Iska
be5cf151f7
[macOS] Move the glContext generation to FlutterOpenGLRenderer (#22572) 2020-11-17 15:08:01 -08:00
Kaushik Iska
94e217bcf6
[macOS] Isolate openGL rendering to FlutterOpenGLRenderer (#22569) 2020-11-17 15:31:38 -06:00
Jason Simmons
635df89760
Make the AndroidContext superclass destructor virtual (#22555)
Also remove an obsolete external_view_embedder reference from
AndroidSurfaceFactoryImpl.

Fixes https://github.com/flutter/flutter/issues/70621
2020-11-16 17:46:52 -06:00
Jenn Magder
0abcc93eb3
Add xcframework to ios out (#22506) 2020-11-16 13:58:44 -08:00
Hamdi Kahloun
0ce1137b73
[Android] Add systemNavigationBarDividerColor (#22538) 2020-11-16 10:48:02 -08:00
Hamdi Kahloun
fae92ed574 Revert "Update PlatformPluginTest.java & PlatformPlugin.java"
This reverts commit 85bfc4c5de0c4fa10b5bad6d51213cdbebb7db24.
2020-11-16 16:53:30 +01:00
Hamdi Kahloun
85bfc4c5de Update PlatformPluginTest.java & PlatformPlugin.java 2020-11-16 16:28:03 +01:00
Chris Yang
92e5a95a14
PlatformViewsController always make sure the touch events are finished (#22406) 2020-11-13 15:38:01 -08:00
Dan Field
63a6fe3cf9
Opt in fixutres (#22502) 2020-11-13 12:02:07 -08:00
Ari Weiland
ccbc2e6cf1
Fix some serious lifecycle bugs with Android embedding code (#22203) 2020-11-13 11:58:02 -08:00
Kaushik Iska
fcb64c988c
[android] Platform view creates external view embedder (#22360) 2020-11-13 05:52:41 -08:00
Kaushik Iska
38b6c22d5b
PlatformViewIOS CreateExternalViewEmbedder refactor (#22353) 2020-11-13 04:58:44 -08:00
Kaushik Iska
1ff237fdca
Reland "remove surface dependance on external view embedder (#22468)" (#22470) 2020-11-12 15:37:12 -08:00
Dan Field
d07368169e
Limit heap growth on Android (#20473)
Limit heap growth to half of totalMem by default, with the option to set it higher or lower in the AndroidManifest
2020-11-12 14:53:54 -08:00
Matej Knopp
8ceb3ed4ba
Disable synchronous resizing until a frame is produced (#22457)
Instead of synchronousResizing flag which in some cases seems to be set too early, synchronous resizing is postponed until framework produces a frame so ResizeSynchronizer knows for sure that the engine is up and running.
2020-11-12 11:50:31 -08:00
LongCatIsLooong
778eb844d4
[Android text input] Reland #21534 (#22435) 2020-11-12 11:34:01 -08:00
George Wright
36b960e224
Add D3D9 fallback path for ANGLE and ensure fallbacks are actually attempted (#22412) 2020-11-12 10:54:02 -08:00
Emmanuel Garcia
091b6cc5b4
Fix talkback in hybrid composition while using FlutterFragmentActivity (#22429) 2020-11-12 10:30:29 -08:00
Jim Graham
69021ce130
Fix the event size parameters in the Embedder ComplexClip test (#22455) 2020-11-12 09:34:03 -08:00
Kaushik Iska
021ff04336
Reverts 2 commits that remove surface dependance on external view embedder (#22468)
* Revert "Remove GetExternalViewEmbedder from surface (#22272)"

This reverts commit 5419f70f173db1c9f2d5db4c289560e68ce9b77b.

* Revert "Rasterizer is initialized with an external view embedder (#22405)"

This reverts commit f95df42e6e3d80f17c2024e9956768be9416717f.
2020-11-12 08:41:11 -08:00
LongCatIsLooong
23b6310c52
Revert "[Android Text Input] Make the editing state listenable and allow batch edits (#21534)" (#22434) 2020-11-11 18:24:02 -08:00
Robert Ancell
46f78c6496
Fix typo in documentation for FlPlatformPlugin (#22426) 2020-11-12 12:02:44 +13:00
chunhtai
d97a81c889
reland support uri launch in android (#22363)
* Revert "Revert "support uri intent launcher in android (#21275)" (#22298)"

This reverts commit f61cbc05f01ffb5dbda6a9c20eb0feda524774ab.

* reland support uri launch for android

* refactor

* update

* fix test

* addressing comments

* addressing comments

* revert throw error
2020-11-11 14:51:04 -08:00
Kaushik Iska
5419f70f17
Remove GetExternalViewEmbedder from surface (#22272)
This decouples surfaces from view embedders.
2020-11-11 13:45:24 -08:00
LongCatIsLooong
81f219c59c
[Android Text Input] Make the editing state listenable and allow batch edits (#21534) 2020-11-10 19:19:03 -08:00
gaaclarke
2ed204e425
Reland deeplinking with info.plist check (#22356) 2020-11-10 15:29:02 -08:00
Kaushik Iska
caf678d30f
Move common graphics utils to //flutter/common/graphics (#22320) 2020-11-10 12:34:02 -08:00
xster
d642a939c3
move deprecation from the PluginRegistry outer interface to inner, v1-specific fields (#22345) 2020-11-09 13:57:06 -08:00
Chris Yang
2560b5321a
[PlatformViewsController] Clear root_views_ in Reset (#22403) 2020-11-09 12:34:01 -08:00
Chris Yang
fb72023d38
Reland "Do not involve external_view_embedder in submit frame process if threads are not merged. #22275" (#22372) 2020-11-06 21:04:02 -08:00
Gary Qian
e231e3bc93
Remove extra method in ComputePlatformResolvedLocale (#22362) 2020-11-06 16:34:45 -08:00
Chris Bracken
74472ce6da
Revert "Rasterizer is initialized with an external view embedder (#22348)" (#22367)
This reverts commit 0d5f2e901d1953d04eb45004666d34a4537a0060.

Due to merge conflicts, this also reverts #22275:

Revert "Do not involve external_view_embedder in submit frame process if threads are not merged. (#22275)"

This reverts commit 016fbde1bb275288242e2cf097b52af1dd66ab06.
2020-11-06 15:26:47 -08:00
Greg Spencer
13a624ac31
Use dispatchKeyEvent, and handle keys sent to InputConnection.sendKeyEvent on Android (#22340)
This (mostly) re-lands #21163, which was reverted in #22321

This switches from using onKeyDown to using dispatchKeyEvent on Android so that keys can be intercepted handled by the framework and not continue to be dispatched to other controls.

It also now intercepts key events sent to InputConnection.sendKeyEvent, as some IMEs do (e.g. the Hacker's Keyboard), and sends them to Flutter.

This fixes the problem where (for example) pressing TAB on a hardware keyboard sends the tab to both the text field and to the focus traversal system.

Note that we still can't intercept all keystrokes given to a soft keyboard, only those which the soft keyboard decides to send to InputConnection.sendKeyEvent, and system keys (like the back button) are only received if the IME doesn't eat them.
2020-11-06 12:45:47 -08:00
Chris Yang
016fbde1bb
Do not involve external_view_embedder in submit frame process if threads are not merged. (#22275) 2020-11-06 11:04:01 -08:00
Kaushik Iska
6e95e005f1
Platform views have CreateExternalViewEmbedder (#22214) 2020-11-06 05:30:48 -08:00
chunhtai
acaef6f00d
Revert "Added the ability to set the initial route via launch urls. (#21336)" (#22337) 2020-11-05 16:09:01 -08:00
William Wold
bc45d04f4b
Set the IM context when showing the input method (#21896) 2020-11-06 09:22:17 +13:00
Greg Spencer
5d481fb9c1
Revert "Reland: Use dispatchKeyEventPreIme, and handle keys sent to InputConnection.sendKeyEvent on Android (#22304)" (#22321)
This reverts commit 7a8057bd728772d5b7ff2451301d6c095d6bda1b because it breaks back button functionality.
2020-11-05 09:02:25 -08:00
freiling
3105db8ee8
SKP based shader warmup (#20643) 2020-11-04 23:19:02 -08:00
Greg Spencer
7a8057bd72
Reland: Use dispatchKeyEventPreIme, and handle keys sent to InputConnection.sendKeyEvent on Android (#22304)
This re-lands #21163, which was reverted in #22004

Now that flutter/flutter#67359 has landed, this change will no longer cause spaces (and other shortcuts) to be ignored in text fields if there is no action associated with the intent, even if there is a shortcut key mapping to an intent.

It also no longer causes web test failures (as far as I can tell without submitting it: the same tests don't fail locally).

Here's the original PR description:

This switches from using dispatchKeyEvent to using dispatchKeyEventPreIme so that keys can be intercepted before they reach the IME and be handled by the framework.

It also now intercepts key events sent to InputConnection.sendKeyEvent, as some IMEs do (e.g. the Hacker's Keyboard), and sends the to Flutter before sending them to the IME (which it now only does if they are not handled by the framework).

This fixes the problem where pressing TAB on a hardware keyboard sends the tab to both the text field and to the focus traversal system.

Note that we still can't intercept all keystrokes given to a soft keyboard, only those which the soft keyboard decides to send to InputConnection.sendKeyEvent.
2020-11-04 15:54:21 -08:00
stuartmorgan
bf259226b2
Switch Linux embedding to proc table embedder API (#22280)
Switches the Linux embedding from the standard C API to the new proctable version, to allow for unit testing of the embedding layer separately from the embedder APIs implementation.
2020-11-04 15:12:44 -08:00
chunhtai
f61cbc05f0
Revert "support uri intent launcher in android (#21275)" (#22298) 2020-11-04 15:04:02 -08:00
Matej Knopp
acc246676c
Fix code style issues in MacOS embedder (#22270) 2020-11-04 14:49:03 -08:00
Omar Emara
092cbf519c
Fix Linux handling of window exposure events (#22268)
Currently, the Linux embedder does not handle window exposure events.
This is typically not a problem for users who use compositing window
managers, since they keep the display buffers even if the window is
completely covered. However, for users that don't use a compositor, the
window will not be redrawn by the engine if it was previously covered
until another event triggers the redraw.

This patch implements the GtkWidget draw callback to handle window
exposure events. The callback doesn't actually draw anything, it just
schedule a frame for drawing by the engine.

The engine doesn't support exposure events, so instead, we force redraw
by sending a window metrics event of the same geometry. Since the
geometry didn't change, only a frame will be scheduled.
2020-11-04 16:43:47 +13:00
stuartmorgan
91eab23eb3
Switch Windows embedding to proc table embedder API (#22211)
Switches the Windows embedding from the standard C API to the new proctable version, to allow for unit testing of the embedding layer separately from the embedder APIs implementation. This includes moving some engine messaging that was still in flutter_windows to the C++ engine class to better encapsulate the proc table.
2020-11-03 14:36:18 -08:00
Daco Harkes
ccdb6819ce
WeakPersistentHandle migration (#19843)
and roll Dart to 52783837369de45d3372cb6c6b7cdd63e71cd829.
2020-11-03 13:06:53 +01:00
stuartmorgan
3d194fa545
Switch macOS embedding to proc table embedder API (#21811)
Converts the macOS embedding to use the new proc table version of the embedding API, and adds one example unit test using it to demonstrate and validate the approach.
2020-11-02 21:44:10 -08:00