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
Loading
Please register or sign in to comment