Fix primary activity untouchable with punch hole
The root cause is that the letterbox receives touches within the whole task, which made the primary activity untouchable. This CL changes to make the letterbox only cover the secondary taskfragment area Test: manual - repro steps in bug Bug: 271592105 Change-Id: I2d724736d01a8fc50fe4c82c8b8cca2769d97d4f
This commit is contained in:
@@ -819,13 +819,14 @@ final class LetterboxUiController {
|
||||
|
||||
// Get the bounds of the "space-to-fill". The transformed bounds have the highest
|
||||
// priority because the activity is launched in a rotated environment. In multi-window
|
||||
// mode, the task-level represents this. In fullscreen-mode, the task container does
|
||||
// mode, the taskFragment-level represents this for both split-screen
|
||||
// and activity-embedding. In fullscreen-mode, the task container does
|
||||
// (since the orientation letterbox is also applied to the task).
|
||||
final Rect transformedBounds = mActivityRecord.getFixedRotationTransformDisplayBounds();
|
||||
final Rect spaceToFill = transformedBounds != null
|
||||
? transformedBounds
|
||||
: mActivityRecord.inMultiWindowMode()
|
||||
? mActivityRecord.getTask().getBounds()
|
||||
? mActivityRecord.getTaskFragment().getBounds()
|
||||
: mActivityRecord.getRootTask().getParent().getBounds();
|
||||
// In case of translucent activities an option is to use the WindowState#getFrame() of
|
||||
// the first opaque activity beneath. In some cases (e.g. an opaque activity is using
|
||||
|
||||
Reference in New Issue
Block a user