Skip to content
Commit 7021370a authored by Evan Rosky's avatar Evan Rosky
Browse files

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
parent 46c1b58a
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment