Clear opaque flag when surface insets change.

In addition to the pixel format there is an extra
force opaque flag. We only update this on creation,
but we need to respond to changing SurfaceInsets forcing
an otherwise opaque surface to become translucent.

Bug: 27364161
Change-Id: I13c69d1271412a0bc71e936867c58d5c413ab56b
This commit is contained in:
Robert Carr
2016-04-26 17:42:42 -07:00
parent a51388d653
commit b80d781f1d

View File

@@ -2749,6 +2749,13 @@ public class WindowManagerService extends IWindowManager.Stub
}
win.setWindowScale(win.mRequestedWidth, win.mRequestedHeight);
if (win.mAttrs.surfaceInsets.left != 0
|| win.mAttrs.surfaceInsets.top != 0
|| win.mAttrs.surfaceInsets.right != 0
|| win.mAttrs.surfaceInsets.bottom != 0) {
winAnimator.setOpaqueLocked(false);
}
boolean imMayMove = (flagChanges & (FLAG_ALT_FOCUSABLE_IM | FLAG_NOT_FOCUSABLE)) != 0;
final boolean isDefaultDisplay = win.isDefaultDisplay();
boolean focusMayChange = isDefaultDisplay && (win.mViewVisibility != viewVisibility