Clean-up some out-dated layout shenanigans
Task.isFullscreen was checking for empty bounds, this wasn't accounting for the (new) difference between being FULLSCREEN (by policy) and actually filling the screen. This resulted in certain checks not working properly (eg. letterbox surface layout). isFullscreen has been removed and the callers now check for what they care about. useCurrentBounds is effectively dead-code now. It was originally to deal with multi-user cases to prevent docked stack of one user influencing the size of another user's stacks. Nowadays, mode changes through the configuration hierarchy handles these adjustments and falling-back on displayBounds won't be appropriate in nested situations. getAnimationBounds was basically trying to duplicate the logic already performed by the hierarchy configuration update. Specifically, looking at the mode and picking which bounds to use. This is redundant and was actually causing problems because new policies handled in the hierarchy weren't being reproduced faithfully here. However, due to letterbox, we can't use AppWindowToken bounds directly. So for now we just use task (instead of stack) for a representation of "the window" that also works for freeform. Letterbox layout was only being calculated relative to the task. For fixed-orientation letterbox, this doesn't work because the task itself needs to be letterboxed. For now, this CL hard-codes an additional level (stack) and unions that for the "letterbox fill region". We should probably replace this with a recursive solution, but there's currently still some issues that might require moving this stuff around anyways. Bug: 124626708 Test: launch a portrait-only app into fullscreen on a landscape-only display. atest AppWindowTokenTests WindowFrameTests Change-Id: I1375c1988fbc8460802f30acee2207289fdb18e7
Loading
Please register or sign in to comment