Remove some hard-coded fullscreen-specific hierarchy logic
There were a couple issues where evaluation was hard-coded: 1. detecting window movement was always relative to the display. Because animations are moving to be more "leashed", this detection method can cause double-animations. 2. The Task-level configuration resolution was hard-coded to assume that null-bounds would inherit from the display. This breaks down when we try to influence parent configs (eg. Stack or, in the future, parent Tasks) and causes the app to receive configs that don't match its window size. For (1) this CL changes WindowState to only animation movement if the windows have moved relative to the root-windowstate's parent. This works because movements above Activity-level are done by WM and have animations already (eg. transitions or task-org leashes) while movements below activity-level are triggered by app (eg. relayout) and don't have intrinsic animations. For (2) this CL adjusts the task-level resolution to always calculate relative to its parent, even with null bounds. Bug: 133381692 Bug: 133381284 Test: Added to TaskRecordTests and updated WindowFrameTests Change-Id: I172ca65465bbfdfe5e2022c5a4bfb6b6f0140b24
Loading
Please register or sign in to comment