Make the virtual display's window translucent (flutter/engine#9828)

By default alpha is not preserved for the VD's contents.
We make the window translucent as a side effect of doing so is preserving alpha.
There should not be extra performance cost for setting the window to be translucent as there is only a single window within the VD.

Fixes flutter/flutter#33756
This commit is contained in:
Amir Hardon
2019-07-15 16:51:36 -07:00
committed by GitHub
parent 44ef776c05
commit a6be960c2f

View File

@@ -96,7 +96,11 @@ class SingleViewPresentation extends Presentation {
Object createParams,
OnFocusChangeListener focusChangeListener
) {
super(outerContext, display);
// By default alpha is not preserved for the VD's contents.
// We make the window translucent as a side effect of doing so is preserving alpha.
// There should not be extra performance cost for setting the window to be translucent as
// there is only a single window within the VD.
super(outerContext, display, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
this.viewFactory = viewFactory;
this.accessibilityEventsDelegate = accessibilityEventsDelegate;
this.viewId = viewId;
@@ -109,6 +113,7 @@ class SingleViewPresentation extends Presentation {
);
}
/**
* Creates a presentation that will attach an already existing view as
* its root view.
@@ -124,7 +129,11 @@ class SingleViewPresentation extends Presentation {
OnFocusChangeListener focusChangeListener,
boolean startFocused
) {
super(outerContext, display);
// By default alpha is not preserved for the VD's contents.
// We make the window translucent as a side effect of doing so is preserving alpha.
// There should not be extra performance cost for setting the window to be translucent as
// there is only a single window within the VD.
super(outerContext, display, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
this.accessibilityEventsDelegate = accessibilityEventsDelegate;
viewFactory = null;
this.state = state;