Only update keyguard status from top focusable visible task.
In original sequence we do KeyguardController#visibilitiesUpdated
at endActivityVisibilityUpdate, so without the check from
mVisibilityTransactionDepth, KeyguardController#visibilitiesUpdated
can actually do RootWindowContainer#ensureActivitiesVisible again
if occluded state has changed. But actually only the top non-pinned
activity on each display can affect the keyguard status. So to make
ensureActivitiesVisible faster, update keyguard status from this task
at beginActivityVisibilityUpdate, then update visibility for each
activities after sleep token is stable.
Bug: 163993448
Bug: 168776729
Test: atest ActivityVisibilityTests KeyguardTests KeyguardLockedTests
KeyguardTransitionTests AppConfigurationTests ReplaceWindowTests
Test: atest ActivityRecordTests RecentTasksTest ActivityStackTests
DisplayContentTests
Change-Id: I6428c59245fc84b0093778d4aaa5906a0b1a26e3
9 files changed