summaryrefslogtreecommitdiff
path: root/libs/androidfw/AttributeResolution.cpp
diff options
context:
space:
mode:
author Leon Scroggins III <scroggo@google.com> 2022-03-18 10:02:49 -0400
committer Leon Scroggins III <scroggo@google.com> 2022-03-18 16:29:12 -0400
commita49deeee4af3461e7baf40260fe40050500be70f (patch)
tree6a67e21172d26a00caacf5de0c257bd7d1c3ace4 /libs/androidfw/AttributeResolution.cpp
parentbce590e3562105618aecead911987f7176f4aa4d (diff)
ScreenDecorHwcLayer: better debugging for the transparent region
When DEBUG_COLOR is set, the ScreenDecorHwcLayer becomes a full color buffer (instead of A8) and draws green for the cutouts and transparent green for the transparent region. But the old method calculated the transparent region during every draw call, which doesn't match how it happens when we actually set the transparent region. Instead, do the following: Always call requestTransparentRegion in onAttachedToWindow. This means that gatherTransparentRegion will be called to calculate the transparent region. Do *not* call calculateTransparentRect in onDraw, which would update the rect. The final result is that onDraw will draw using the rect computed for passing to native. When DEBUG_COLOR is set, still compute the rect in gatherTransparentRegion, but set the region to empty. The method is supposed to remove parts of the Region that are not transparent, and with the debug drawing, it essentially draws everywhere. Only call setDisplayDecoration when !DEBUG_COLOR. With DEBUG_COLOR set, we cannot take advantage of DISPLAY_DECORATION layers anyway. Bug: 225212638 Test: debug.screenshot_rounded_corners Change-Id: Ic91d3b22e5c5d768cc1c6f1f8baefe1546ac2006
Diffstat (limited to 'libs/androidfw/AttributeResolution.cpp')
0 files changed, 0 insertions, 0 deletions