Compare letterbox and bar content frame with the same rotation

If the device has cutout, and an activity with non-always layout
cutout mode is launching to different rotation, while the fixed
rotation transform exists, BarController#isTransparentAllowed uses
the non-rotated bar frame to compare with the letterbox of rotated
activity. That may cause status bar becomes opaque a while even
the activity can draw the bar background.

This change stores the bar content frame when simulating the layout
of rotated display. Then BarController#isTransparentAllowed can get
the frame with corresponding rotation to check whether the letterbox
intersects or contain the bar area.

Fixes: 155724528
Test: atest SizeCompatTests#testLaunchWithFixedRotationTransform

Change-Id: I832f895db9ea67fa852a4465c47467927ccd1e2a
6 files changed