Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android R] Integrate DisplayCutouts into viewportMetrics #20921

Merged
merged 8 commits into from
Sep 2, 2020

Conversation

GaryQian
Copy link
Contributor

@GaryQian GaryQian commented Sep 1, 2020

Fixes flutter/flutter#56599

Integrates the display cutout data into the existing padding and view insets API

This does not make use of the detailed cutout rects, which may be added in a future PR as new API.

flutter/flutter#65088 tracks additional work to expose the full rects.

@GaryQian GaryQian added platform-android Work in progress (WIP) Not ready (yet) for review! labels Sep 1, 2020
@GaryQian GaryQian self-assigned this Sep 1, 2020
@GaryQian GaryQian changed the title [WIP] Integrate DisplayCutouts Android API 30 feature [WIP] [Android R] Integrate DisplayCutouts into viewportMetrics Sep 1, 2020
@GaryQian GaryQian requested a review from xster September 1, 2020 19:47
@@ -508,30 +509,50 @@ private int guessBottomKeyboardInset(WindowInsets insets) {
public final WindowInsets onApplyWindowInsets(@NonNull WindowInsets insets) {
WindowInsets newInsets = super.onApplyWindowInsets(insets);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
Insets systemGestureInsets = insets.getSystemGestureInsets();
viewportMetrics.systemGestureInsetTop = systemGestureInsets.top;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super tangential, just realized we added this to mediaquery. We should move the iOS home bar to use this too :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry disregard. After reading this from media query and android, I realized it doesn't mean the same thing

@@ -508,30 +509,50 @@ private int guessBottomKeyboardInset(WindowInsets insets) {
public final WindowInsets onApplyWindowInsets(@NonNull WindowInsets insets) {
WindowInsets newInsets = super.onApplyWindowInsets(insets);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
Insets systemGestureInsets = insets.getSystemGestureInsets();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't have to do this now, but this got deprecated after 1 Android version 🤣. We could add an R check for the new API.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh you're already doing getInsets below. If that works in Q, we should just merge it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, getInsets is API 30 only, so to support this for Q, we still need to do this. For R and above though, we can move to getInsets

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, SG

boolean statusBarVisible = (SYSTEM_UI_FLAG_FULLSCREEN & getWindowSystemUiVisibility()) == 0;
boolean navigationBarVisible =
(SYSTEM_UI_FLAG_HIDE_NAVIGATION & getWindowSystemUiVisibility()) == 0;

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
int mask = 0;
int mask = android.view.WindowInsets.Type.ime();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wait, so this PR does keyboard + waterfall + cutout? :D

viewportMetrics.paddingBottom = 0;
viewportMetrics.paddingLeft = finalInsets.left;
viewportMetrics.paddingLeft = uiInsets.left;

viewportMetrics.viewInsetTop = 0;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we getInsets multiple times? Since we're feeding them into different things.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'll take this opportunity to fully use the new API rather than just adapt the old version.

DisplayCutout cutout = insets.getCutout();
if (cutout != null) {
Insets waterfallInsets = cutout.getWaterfallInsets();
viewportMetrics.systemGestureInsetTop = Math.max(Math.max(viewportMetrics.systemGestureInsetTop, waterfallInsets.top), cutout.getSafeInsetTop());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how did you decide it is a systemGestureInset vs a padding? Both seem potentially ok but if you use systemGestureInset, you need to change the media query doc since it seems really specific to solve one problem currentyl.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh upon further review of what each is meant to be, padding explicitly mentions notches and cutouts, so I'll proceed with padding.

((WindowManager)
RuntimeEnvironment.systemContext.getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay());
// display.setRotation(0);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

commented code

when(flutterView.getContext()).thenReturn(RuntimeEnvironment.systemContext);

FlutterEngine flutterEngine =
spy(new FlutterEngine(RuntimeEnvironment.application, mockFlutterLoader, mockFlutterJni));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ultra nit: if you can figure out the chain needed to just mock instead of spy, it might make this test more stable in the long run. Might not be possible though.

@GaryQian GaryQian marked this pull request as ready for review September 1, 2020 23:24
@GaryQian GaryQian removed the Work in progress (WIP) Not ready (yet) for review! label Sep 2, 2020
@GaryQian GaryQian changed the title [WIP] [Android R] Integrate DisplayCutouts into viewportMetrics [Android R] Integrate DisplayCutouts into viewportMetrics Sep 2, 2020
viewportMetrics.systemGestureInsetBottom = systemGestureInsets.bottom;
viewportMetrics.systemGestureInsetLeft = systemGestureInsets.left;
}

boolean statusBarVisible = (SYSTEM_UI_FLAG_FULLSCREEN & getWindowSystemUiVisibility()) == 0;
boolean navigationBarVisible =
(SYSTEM_UI_FLAG_HIDE_NAVIGATION & getWindowSystemUiVisibility()) == 0;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These things are kinda big now. Feel free to split them into populatePreQ, populateQ, populateR if needed.

// TODO(garyq): Expose the full rects of the display cutout.

// Take the max of the display cutout insets and existing padding to merge them
DisplayCutout cutout = insets.getDisplayCutout();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, neat that they have the insets apis separate from the rect apis. I suppose there's no regression here since on iOS, you already can't tell apart the notch rect from the insets to "utilize" the remaining area.

Let's do the rect separately, sure.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flutter/flutter#65088 Tracks the rect work

@GaryQian GaryQian added the waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. label Sep 2, 2020
@GaryQian
Copy link
Contributor Author

GaryQian commented Sep 2, 2020

LUCI Failure is probably a flake, landing manually.

engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 2, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 2, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 2, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 2, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 2, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 3, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 3, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 3, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 3, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 3, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 3, 2020
zanderso pushed a commit to flutter/flutter that referenced this pull request Sep 3, 2020
* 5e54c70 Reland: Enable hybrid composition by default on Android (#20722) (flutter/engine#20864)

* 9398717 Roll Skia from db5582b71116 to 44e96bee4b6a (4 revisions) (flutter/engine#20908)

* 5f49a95 Add auto plugin registration to FlutterFragmentActivity as well (flutter/engine#20865)

* c4c4f34 Wait for first frame before checking layer tree (flutter/engine#20910)

* 0773bf0 Roll Skia from 44e96bee4b6a to 3913d3e137ed (2 revisions) (flutter/engine#20909)

* 8ec8af7 [windows] Add horizontal scroll support (flutter/engine#20668)

* 1bd9b8e Reset Shell::weak_factory_gpu_ on the raster thread (flutter/engine#20869)

* d67923f Pass text input key events to the EventResponder if they do not yield characters (flutter/engine#20912)

* abe10d1 Roll Dart SDK from 84c3eacc7ba0 to 6eab35f49cbb (2 revisions) (flutter/engine#20913)

* 101316b [web] migrate from e2e to integration_test (flutter/engine#20914)

* 1f52ec3 Roll Dart SDK from 6eab35f49cbb to 2a5f37d25453 (1 revision) (flutter/engine#20917)

* 8019058 Default C++ wrapper templates to EncodableValue (flutter/engine#20760)

* 5f3ec38 Roll Fuchsia Mac SDK from sI2DAAmSI... to waj2pOhDh... (flutter/engine#20919)

* a651020 Roll Fuchsia Linux SDK from _SVZn8uN2... to 9tLNFbjA1... (flutter/engine#20920)

* 696c2aa Roll Skia from 3913d3e137ed to 7b46300fe4ff (4 revisions) (flutter/engine#20924)

* 95f2b72 Create root isolate asynchronously (flutter/engine#20142)

* 58a6207 Adds fuchsia node roles to accessibility bridge updates. (flutter/engine#20385)

* a762143 Roll Dart SDK from 2a5f37d25453 to e8e0d5a539fb (3 revisions) (flutter/engine#20928)

* 49d6805 Ensure all images are closed in FlutterImageView (flutter/engine#20842)

* d67bda7 Image.toByteData and Picture.toImage implementations (#3) (flutter/engine#20750)

* 96efe39 Revert "Adds fuchsia node roles to accessibility bridge updates. (#20385)" (flutter/engine#20936)

* 5585ed9 Revert "Create root isolate asynchronously (#20142)" (flutter/engine#20937)

* f6270c0 Roll Dart SDK from e8e0d5a539fb to b29f228f62e2 (3 revisions) (flutter/engine#20939)

* 15bf1bb [Android R] Integrate DisplayCutouts into viewportMetrics (flutter/engine#20921)

* 615e668 Clear the GL context only after submitting the frame (flutter/engine#20931)

* ca989b8 Roll Skia from 7b46300fe4ff to 1338a37a1add (16 revisions) (flutter/engine#20943)

* 8f3f711 Roll Fuchsia Linux SDK from 9tLNFbjA1... to knpSoAoZq... (flutter/engine#20944)

* 873c007 Log exception in addition to the stack trace for unhandled exceptions. (flutter/engine#20935)

* d761629 Roll Skia from 1338a37a1add to 8fa3b4e8cde5 (6 revisions) (flutter/engine#20949)

* f6920da Roll Skia from 8fa3b4e8cde5 to e9a9ad908226 (5 revisions) (flutter/engine#20952)

* 634e499 Use hint freed specifically for image disposal (flutter/engine#20754)

* c700479 Revert external size changes to Picture (flutter/engine#20950)

* 4353797 Roll Skia from e9a9ad908226 to 3d1d636cd839 (6 revisions) (flutter/engine#20955)

* 80f4481 renaming e2e tests to integration (flutter/engine#20954)

* 61e057a Clear GL context before Gr context (flutter/engine#20957)

* f43c3d7 Roll Fuchsia Mac SDK from waj2pOhDh... to 0r88gDzUP... (flutter/engine#20958)

* 5a2db33 Roll Skia from 3d1d636cd839 to 683beccf6776 (13 revisions) (flutter/engine#20961)

* efb339f Only clear GL context after changing the thread configuration (flutter/engine#20965)

* 58d5132 Roll Fuchsia Linux SDK from knpSoAoZq... to odFvFQV9Z... (flutter/engine#20968)

* 3729fdb Roll Skia from 683beccf6776 to a66a9c31a318 (4 revisions) (flutter/engine#20969)

* 40fe7f3 Roll Fuchsia Mac SDK from 0r88gDzUP... to gOI3W1UNU... (flutter/engine#20970)

* e979c29 Roll Skia from a66a9c31a318 to be72801f29f9 (1 revision) (flutter/engine#20971)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 3, 2020
flar pushed a commit to flutter/flutter that referenced this pull request Sep 3, 2020
* 5e54c70 Reland: Enable hybrid composition by default on Android (#20722) (flutter/engine#20864)

* 9398717 Roll Skia from db5582b71116 to 44e96bee4b6a (4 revisions) (flutter/engine#20908)

* 5f49a95 Add auto plugin registration to FlutterFragmentActivity as well (flutter/engine#20865)

* c4c4f34 Wait for first frame before checking layer tree (flutter/engine#20910)

* 0773bf0 Roll Skia from 44e96bee4b6a to 3913d3e137ed (2 revisions) (flutter/engine#20909)

* 8ec8af7 [windows] Add horizontal scroll support (flutter/engine#20668)

* 1bd9b8e Reset Shell::weak_factory_gpu_ on the raster thread (flutter/engine#20869)

* d67923f Pass text input key events to the EventResponder if they do not yield characters (flutter/engine#20912)

* abe10d1 Roll Dart SDK from 84c3eacc7ba0 to 6eab35f49cbb (2 revisions) (flutter/engine#20913)

* 101316b [web] migrate from e2e to integration_test (flutter/engine#20914)

* 1f52ec3 Roll Dart SDK from 6eab35f49cbb to 2a5f37d25453 (1 revision) (flutter/engine#20917)

* 8019058 Default C++ wrapper templates to EncodableValue (flutter/engine#20760)

* 5f3ec38 Roll Fuchsia Mac SDK from sI2DAAmSI... to waj2pOhDh... (flutter/engine#20919)

* a651020 Roll Fuchsia Linux SDK from _SVZn8uN2... to 9tLNFbjA1... (flutter/engine#20920)

* 696c2aa Roll Skia from 3913d3e137ed to 7b46300fe4ff (4 revisions) (flutter/engine#20924)

* 95f2b72 Create root isolate asynchronously (flutter/engine#20142)

* 58a6207 Adds fuchsia node roles to accessibility bridge updates. (flutter/engine#20385)

* a762143 Roll Dart SDK from 2a5f37d25453 to e8e0d5a539fb (3 revisions) (flutter/engine#20928)

* 49d6805 Ensure all images are closed in FlutterImageView (flutter/engine#20842)

* d67bda7 Image.toByteData and Picture.toImage implementations (#3) (flutter/engine#20750)

* 96efe39 Revert "Adds fuchsia node roles to accessibility bridge updates. (#20385)" (flutter/engine#20936)

* 5585ed9 Revert "Create root isolate asynchronously (#20142)" (flutter/engine#20937)

* f6270c0 Roll Dart SDK from e8e0d5a539fb to b29f228f62e2 (3 revisions) (flutter/engine#20939)

* 15bf1bb [Android R] Integrate DisplayCutouts into viewportMetrics (flutter/engine#20921)

* 615e668 Clear the GL context only after submitting the frame (flutter/engine#20931)

* ca989b8 Roll Skia from 7b46300fe4ff to 1338a37a1add (16 revisions) (flutter/engine#20943)

* 8f3f711 Roll Fuchsia Linux SDK from 9tLNFbjA1... to knpSoAoZq... (flutter/engine#20944)

* 873c007 Log exception in addition to the stack trace for unhandled exceptions. (flutter/engine#20935)

* d761629 Roll Skia from 1338a37a1add to 8fa3b4e8cde5 (6 revisions) (flutter/engine#20949)

* f6920da Roll Skia from 8fa3b4e8cde5 to e9a9ad908226 (5 revisions) (flutter/engine#20952)

* 634e499 Use hint freed specifically for image disposal (flutter/engine#20754)

* c700479 Revert external size changes to Picture (flutter/engine#20950)

* 4353797 Roll Skia from e9a9ad908226 to 3d1d636cd839 (6 revisions) (flutter/engine#20955)

* 80f4481 renaming e2e tests to integration (flutter/engine#20954)

* 61e057a Clear GL context before Gr context (flutter/engine#20957)

* f43c3d7 Roll Fuchsia Mac SDK from waj2pOhDh... to 0r88gDzUP... (flutter/engine#20958)

* 5a2db33 Roll Skia from 3d1d636cd839 to 683beccf6776 (13 revisions) (flutter/engine#20961)

* efb339f Only clear GL context after changing the thread configuration (flutter/engine#20965)

* 58d5132 Roll Fuchsia Linux SDK from knpSoAoZq... to odFvFQV9Z... (flutter/engine#20968)

* 3729fdb Roll Skia from 683beccf6776 to a66a9c31a318 (4 revisions) (flutter/engine#20969)

* 40fe7f3 Roll Fuchsia Mac SDK from 0r88gDzUP... to gOI3W1UNU... (flutter/engine#20970)

* e979c29 Roll Skia from a66a9c31a318 to be72801f29f9 (1 revision) (flutter/engine#20971)

* 6e8930b Roll Skia from be72801f29f9 to f8823b572600 (1 revision) (flutter/engine#20973)

* 68b7b84 [fuchsia] Send trace events to system tracing on all configurations (flutter/engine#20974)

* 3f05b52 Always set the callback during Rasterizer setup (flutter/engine#20976)
mingwandroid pushed a commit to mingwandroid/flutter that referenced this pull request Sep 6, 2020
* 5e54c70 Reland: Enable hybrid composition by default on Android (flutter#20722) (flutter/engine#20864)

* 9398717 Roll Skia from db5582b71116 to 44e96bee4b6a (4 revisions) (flutter/engine#20908)

* 5f49a95 Add auto plugin registration to FlutterFragmentActivity as well (flutter/engine#20865)

* c4c4f34 Wait for first frame before checking layer tree (flutter/engine#20910)

* 0773bf0 Roll Skia from 44e96bee4b6a to 3913d3e137ed (2 revisions) (flutter/engine#20909)

* 8ec8af7 [windows] Add horizontal scroll support (flutter/engine#20668)

* 1bd9b8e Reset Shell::weak_factory_gpu_ on the raster thread (flutter/engine#20869)

* d67923f Pass text input key events to the EventResponder if they do not yield characters (flutter/engine#20912)

* abe10d1 Roll Dart SDK from 84c3eacc7ba0 to 6eab35f49cbb (2 revisions) (flutter/engine#20913)

* 101316b [web] migrate from e2e to integration_test (flutter/engine#20914)

* 1f52ec3 Roll Dart SDK from 6eab35f49cbb to 2a5f37d25453 (1 revision) (flutter/engine#20917)

* 8019058 Default C++ wrapper templates to EncodableValue (flutter/engine#20760)

* 5f3ec38 Roll Fuchsia Mac SDK from sI2DAAmSI... to waj2pOhDh... (flutter/engine#20919)

* a651020 Roll Fuchsia Linux SDK from _SVZn8uN2... to 9tLNFbjA1... (flutter/engine#20920)

* 696c2aa Roll Skia from 3913d3e137ed to 7b46300fe4ff (4 revisions) (flutter/engine#20924)

* 95f2b72 Create root isolate asynchronously (flutter/engine#20142)

* 58a6207 Adds fuchsia node roles to accessibility bridge updates. (flutter/engine#20385)

* a762143 Roll Dart SDK from 2a5f37d25453 to e8e0d5a539fb (3 revisions) (flutter/engine#20928)

* 49d6805 Ensure all images are closed in FlutterImageView (flutter/engine#20842)

* d67bda7 Image.toByteData and Picture.toImage implementations (flutter#3) (flutter/engine#20750)

* 96efe39 Revert "Adds fuchsia node roles to accessibility bridge updates. (flutter#20385)" (flutter/engine#20936)

* 5585ed9 Revert "Create root isolate asynchronously (flutter#20142)" (flutter/engine#20937)

* f6270c0 Roll Dart SDK from e8e0d5a539fb to b29f228f62e2 (3 revisions) (flutter/engine#20939)

* 15bf1bb [Android R] Integrate DisplayCutouts into viewportMetrics (flutter/engine#20921)

* 615e668 Clear the GL context only after submitting the frame (flutter/engine#20931)

* ca989b8 Roll Skia from 7b46300fe4ff to 1338a37a1add (16 revisions) (flutter/engine#20943)

* 8f3f711 Roll Fuchsia Linux SDK from 9tLNFbjA1... to knpSoAoZq... (flutter/engine#20944)

* 873c007 Log exception in addition to the stack trace for unhandled exceptions. (flutter/engine#20935)

* d761629 Roll Skia from 1338a37a1add to 8fa3b4e8cde5 (6 revisions) (flutter/engine#20949)

* f6920da Roll Skia from 8fa3b4e8cde5 to e9a9ad908226 (5 revisions) (flutter/engine#20952)

* 634e499 Use hint freed specifically for image disposal (flutter/engine#20754)

* c700479 Revert external size changes to Picture (flutter/engine#20950)

* 4353797 Roll Skia from e9a9ad908226 to 3d1d636cd839 (6 revisions) (flutter/engine#20955)

* 80f4481 renaming e2e tests to integration (flutter/engine#20954)

* 61e057a Clear GL context before Gr context (flutter/engine#20957)

* f43c3d7 Roll Fuchsia Mac SDK from waj2pOhDh... to 0r88gDzUP... (flutter/engine#20958)

* 5a2db33 Roll Skia from 3d1d636cd839 to 683beccf6776 (13 revisions) (flutter/engine#20961)

* efb339f Only clear GL context after changing the thread configuration (flutter/engine#20965)

* 58d5132 Roll Fuchsia Linux SDK from knpSoAoZq... to odFvFQV9Z... (flutter/engine#20968)

* 3729fdb Roll Skia from 683beccf6776 to a66a9c31a318 (4 revisions) (flutter/engine#20969)

* 40fe7f3 Roll Fuchsia Mac SDK from 0r88gDzUP... to gOI3W1UNU... (flutter/engine#20970)

* e979c29 Roll Skia from a66a9c31a318 to be72801f29f9 (1 revision) (flutter/engine#20971)
mingwandroid pushed a commit to mingwandroid/flutter that referenced this pull request Sep 6, 2020
* 5e54c70 Reland: Enable hybrid composition by default on Android (flutter#20722) (flutter/engine#20864)

* 9398717 Roll Skia from db5582b71116 to 44e96bee4b6a (4 revisions) (flutter/engine#20908)

* 5f49a95 Add auto plugin registration to FlutterFragmentActivity as well (flutter/engine#20865)

* c4c4f34 Wait for first frame before checking layer tree (flutter/engine#20910)

* 0773bf0 Roll Skia from 44e96bee4b6a to 3913d3e137ed (2 revisions) (flutter/engine#20909)

* 8ec8af7 [windows] Add horizontal scroll support (flutter/engine#20668)

* 1bd9b8e Reset Shell::weak_factory_gpu_ on the raster thread (flutter/engine#20869)

* d67923f Pass text input key events to the EventResponder if they do not yield characters (flutter/engine#20912)

* abe10d1 Roll Dart SDK from 84c3eacc7ba0 to 6eab35f49cbb (2 revisions) (flutter/engine#20913)

* 101316b [web] migrate from e2e to integration_test (flutter/engine#20914)

* 1f52ec3 Roll Dart SDK from 6eab35f49cbb to 2a5f37d25453 (1 revision) (flutter/engine#20917)

* 8019058 Default C++ wrapper templates to EncodableValue (flutter/engine#20760)

* 5f3ec38 Roll Fuchsia Mac SDK from sI2DAAmSI... to waj2pOhDh... (flutter/engine#20919)

* a651020 Roll Fuchsia Linux SDK from _SVZn8uN2... to 9tLNFbjA1... (flutter/engine#20920)

* 696c2aa Roll Skia from 3913d3e137ed to 7b46300fe4ff (4 revisions) (flutter/engine#20924)

* 95f2b72 Create root isolate asynchronously (flutter/engine#20142)

* 58a6207 Adds fuchsia node roles to accessibility bridge updates. (flutter/engine#20385)

* a762143 Roll Dart SDK from 2a5f37d25453 to e8e0d5a539fb (3 revisions) (flutter/engine#20928)

* 49d6805 Ensure all images are closed in FlutterImageView (flutter/engine#20842)

* d67bda7 Image.toByteData and Picture.toImage implementations (flutter#3) (flutter/engine#20750)

* 96efe39 Revert "Adds fuchsia node roles to accessibility bridge updates. (flutter#20385)" (flutter/engine#20936)

* 5585ed9 Revert "Create root isolate asynchronously (flutter#20142)" (flutter/engine#20937)

* f6270c0 Roll Dart SDK from e8e0d5a539fb to b29f228f62e2 (3 revisions) (flutter/engine#20939)

* 15bf1bb [Android R] Integrate DisplayCutouts into viewportMetrics (flutter/engine#20921)

* 615e668 Clear the GL context only after submitting the frame (flutter/engine#20931)

* ca989b8 Roll Skia from 7b46300fe4ff to 1338a37a1add (16 revisions) (flutter/engine#20943)

* 8f3f711 Roll Fuchsia Linux SDK from 9tLNFbjA1... to knpSoAoZq... (flutter/engine#20944)

* 873c007 Log exception in addition to the stack trace for unhandled exceptions. (flutter/engine#20935)

* d761629 Roll Skia from 1338a37a1add to 8fa3b4e8cde5 (6 revisions) (flutter/engine#20949)

* f6920da Roll Skia from 8fa3b4e8cde5 to e9a9ad908226 (5 revisions) (flutter/engine#20952)

* 634e499 Use hint freed specifically for image disposal (flutter/engine#20754)

* c700479 Revert external size changes to Picture (flutter/engine#20950)

* 4353797 Roll Skia from e9a9ad908226 to 3d1d636cd839 (6 revisions) (flutter/engine#20955)

* 80f4481 renaming e2e tests to integration (flutter/engine#20954)

* 61e057a Clear GL context before Gr context (flutter/engine#20957)

* f43c3d7 Roll Fuchsia Mac SDK from waj2pOhDh... to 0r88gDzUP... (flutter/engine#20958)

* 5a2db33 Roll Skia from 3d1d636cd839 to 683beccf6776 (13 revisions) (flutter/engine#20961)

* efb339f Only clear GL context after changing the thread configuration (flutter/engine#20965)

* 58d5132 Roll Fuchsia Linux SDK from knpSoAoZq... to odFvFQV9Z... (flutter/engine#20968)

* 3729fdb Roll Skia from 683beccf6776 to a66a9c31a318 (4 revisions) (flutter/engine#20969)

* 40fe7f3 Roll Fuchsia Mac SDK from 0r88gDzUP... to gOI3W1UNU... (flutter/engine#20970)

* e979c29 Roll Skia from a66a9c31a318 to be72801f29f9 (1 revision) (flutter/engine#20971)

* 6e8930b Roll Skia from be72801f29f9 to f8823b572600 (1 revision) (flutter/engine#20973)

* 68b7b84 [fuchsia] Send trace events to system tracing on all configurations (flutter/engine#20974)

* 3f05b52 Always set the callback during Rasterizer setup (flutter/engine#20976)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes platform-android waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support Android 11 display cutouts, waterfall
3 participants