-
Notifications
You must be signed in to change notification settings - Fork 6k
Create FlutterActivity/FlutterFragment using light weight engine with FlutterEngineGroup #36963
Conversation
|
@Nayuta403 Is this ready for review? |
|
@GaryQian Yes. Also cc @xster @ColdPaleLight |
|
cc @gaaclarke |
gaaclarke
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks awesome and timely, lgtm for the most part. I just had a few questions before approval.
shell/platform/android/io/flutter/embedding/android/FlutterActivity.java
Show resolved
Hide resolved
shell/platform/android/io/flutter/embedding/android/FlutterFragment.java
Show resolved
Hide resolved
shell/platform/android/io/flutter/embedding/engine/FlutterEngineGroupCache.java
Show resolved
Hide resolved
...atform/android/test/io/flutter/embedding/android/FlutterActivityAndFragmentDelegateTest.java
Show resolved
Hide resolved
|
Gold has detected about 72 new digest(s) on patchset 13. |
|
Ping @gaaclarke. Looks like this is good for a re-review. |
gaaclarke
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@chinmaygarde So, the code looks good to me. Here is my concern: I don't understand the need for the code. This is dealing with an aspect of Android development I'm not familiar with. I would like someone from the Android team to verify that this code is needed and appropriate. If this code is just providing a convenience, I'd error on the side of caution and avoid adding more logic, unless of course the alternative is super inconvenient. cc @reidbaker who is ramping up but has some context on the FlutterEngineGroup and would have a good idea of how to make this decision.
I think the thesis of this PR is that this doesn't provide any new functionality, but provides a java wrapper around metadata which is more convenient, right? Is that expected for Android developers, does that scale across all uses of the metadata? I'm ill equipped to make that decision.
|
@gaaclarke Hi, thanks for reply. I would like to provide some context about this PR. If anything is wrong, please let me know EngineGroup has provided api
IIUC, Referring to |
gaaclarke
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, that helps. I have an outstanding PR that starts making activities and fragments use an engine group by default too. So there is probably going to be an engine group that is available through that. Since we are going to start using engine groups by default, accepting the maintenance of code that makes their usage easier makes sense to me.
|
@GaryQian the code looks good here and the tests. The justification makes sense to me. I want to make sure that it matches Android expectations, since you'd have a better idea. |
|
@xster is an expert on the subject and please help review the code :-D |
|
Gold has detected about 72 new digest(s) on patchset 16. |
ColdPaleLight
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…ine with FlutterEngineGroup (flutter/engine#36963)
* bd8bcf9 Roll Fuchsia Mac SDK from crEcyXdyZ686cAqMV... to pMV6A0ykZQ8aA3NG2... (flutter/engine#38120) * dec8b52 Preliminary implementation of UIA for A11y on Windows (flutter/engine#37754) * 5545ccf Roll Fuchsia Linux SDK from NlJGkMbtZqQ6_BCpu... to xn8ztWtp-zww-jObz... (flutter/engine#38122) * 80a15a4 Create FlutterActivity/FlutterFragment using light weight engine with FlutterEngineGroup (flutter/engine#36963) * 5caef85 Full implementation of text-input-test (flutter/engine#37986) * 8f6036e Reland fix wrong VSYNC event (flutter/engine#37865) * 4101c36 [iOS] Change locale format for spell check (flutter/engine#38080) * 2f5b67e [embedder] Ensure destruction called on present (flutter/engine#38078) * 0bddc60 [Impeller Scene] Depth attachment; baked lighting example (flutter/engine#38118) * 6aa4ccd Remove dlCanvasRecorder from flutter::PictureRecorder (flutter/engine#38127) * dbb5284 [Windows] Add more cursor plugin tests (flutter/engine#38112) * 6e91204 Roll Fuchsia Mac SDK from pMV6A0ykZQ8aA3NG2... to 9SnrQ0vbR8IC7UIoP... (flutter/engine#38135) * 3140ad9 [Impeller] order metal samplers according to declared order and not usage order (flutter/engine#38115) * 84abf21 Remove autoninja. (flutter/engine#38136) * 8a113d3 [embedder] Expose metal surface from test context (flutter/engine#38133) * 1ef25b6 Roll Fuchsia Mac SDK from 9SnrQ0vbR8IC7UIoP... to aMW0DjntzFJj4RoR3... (flutter/engine#38139) * 748b3bc Revert "Remove dlCanvasRecorder from flutter::PictureRecorder (#38127)" (flutter/engine#38137) * b6daf3d [embedder] Consistent naming for GL/Metal tests (flutter/engine#38141) * 339d04b [web] Trivial fix for non-static interop JS interop class. (flutter/engine#38126) * 1fcbb9c [tools] Eliminate version on Obj-C docs (flutter/engine#38145) * 71928b6 [Impeller] Use DrawPath instead of Rect geometry when the paint style is stroke (flutter/engine#38146) * 23ce8fd Roll Skia from dd3285a80b23 to f84dc9303045 (4 revisions) (flutter/engine#38123) * 366f866 Roll Skia from f84dc9303045 to 2691cd7b4110 (40 revisions) (flutter/engine#38151) * 447e701 Roll Skia from 2691cd7b4110 to 711396b81248 (1 revision) (flutter/engine#38152) * cd5d91b Pylint testing/run_tests.py (flutter/engine#38016) * aafac08 Roll Skia from 711396b81248 to b253b10374e7 (7 revisions) (flutter/engine#38157) * 799dc78 Roll Fuchsia Linux SDK from xn8ztWtp-zww-jObz... to rRJIjuO-dPNCpCTd9... (flutter/engine#38134) * 3aa3d2a Massage the JS interop around `didCreateEngineInitializer` (flutter/engine#38147) * 030950f Roll Skia from b253b10374e7 to ec407902999b (3 revisions) (flutter/engine#38158)
…16802) * bd8bcf9 Roll Fuchsia Mac SDK from crEcyXdyZ686cAqMV... to pMV6A0ykZQ8aA3NG2... (flutter/engine#38120) * dec8b52 Preliminary implementation of UIA for A11y on Windows (flutter/engine#37754) * 5545ccf Roll Fuchsia Linux SDK from NlJGkMbtZqQ6_BCpu... to xn8ztWtp-zww-jObz... (flutter/engine#38122) * 80a15a4 Create FlutterActivity/FlutterFragment using light weight engine with FlutterEngineGroup (flutter/engine#36963) * 5caef85 Full implementation of text-input-test (flutter/engine#37986) * 8f6036e Reland fix wrong VSYNC event (flutter/engine#37865) * 4101c36 [iOS] Change locale format for spell check (flutter/engine#38080) * 2f5b67e [embedder] Ensure destruction called on present (flutter/engine#38078) * 0bddc60 [Impeller Scene] Depth attachment; baked lighting example (flutter/engine#38118) * 6aa4ccd Remove dlCanvasRecorder from flutter::PictureRecorder (flutter/engine#38127) * dbb5284 [Windows] Add more cursor plugin tests (flutter/engine#38112) * 6e91204 Roll Fuchsia Mac SDK from pMV6A0ykZQ8aA3NG2... to 9SnrQ0vbR8IC7UIoP... (flutter/engine#38135) * 3140ad9 [Impeller] order metal samplers according to declared order and not usage order (flutter/engine#38115) * 84abf21 Remove autoninja. (flutter/engine#38136) * 8a113d3 [embedder] Expose metal surface from test context (flutter/engine#38133) * 1ef25b6 Roll Fuchsia Mac SDK from 9SnrQ0vbR8IC7UIoP... to aMW0DjntzFJj4RoR3... (flutter/engine#38139) * 748b3bc Revert "Remove dlCanvasRecorder from flutter::PictureRecorder (flutter#38127)" (flutter/engine#38137) * b6daf3d [embedder] Consistent naming for GL/Metal tests (flutter/engine#38141) * 339d04b [web] Trivial fix for non-static interop JS interop class. (flutter/engine#38126) * 1fcbb9c [tools] Eliminate version on Obj-C docs (flutter/engine#38145) * 71928b6 [Impeller] Use DrawPath instead of Rect geometry when the paint style is stroke (flutter/engine#38146) * 23ce8fd Roll Skia from dd3285a80b23 to f84dc9303045 (4 revisions) (flutter/engine#38123) * 366f866 Roll Skia from f84dc9303045 to 2691cd7b4110 (40 revisions) (flutter/engine#38151) * 447e701 Roll Skia from 2691cd7b4110 to 711396b81248 (1 revision) (flutter/engine#38152) * cd5d91b Pylint testing/run_tests.py (flutter/engine#38016) * aafac08 Roll Skia from 711396b81248 to b253b10374e7 (7 revisions) (flutter/engine#38157) * 799dc78 Roll Fuchsia Linux SDK from xn8ztWtp-zww-jObz... to rRJIjuO-dPNCpCTd9... (flutter/engine#38134) * 3aa3d2a Massage the JS interop around `didCreateEngineInitializer` (flutter/engine#38147) * 030950f Roll Skia from b253b10374e7 to ec407902999b (3 revisions) (flutter/engine#38158)
fix:flutter/flutter#72742
The problems mentioned in #29293 have been completed
Pre-launch Checklist
writing and running engine tests.
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.