Do not skip wake-and-unlock animation
When systemui requests WAKE_AND_UNLOCK (from standalone fingerprint
sensor), DisplayPolicy will have mScreenOnEarly but no mScreenOnFully
yet. If the animation is skipped, a snapshot starting window with
fixed rotation transform won't be notified by finishing transition to
restore the state. Also because the screen will be fully on, the
animation can still be visible.
This change passes ignoreScreenOn with considering isKeyguardGoingAway.
And refactor the logic to a method deferCommitVisibilityChange so it
is easier to read. Also add a quick path for shell transition because
if it is enabled, isTransitionSet and isAnimating(TYPE_RECENTS) will
always be false.
Fixes: 258383126
Test: atest ActivityRecordTests#testSetVisibility_invisibleToVisible
Change-Id: I2519eb558262a9f9126ed093448a9a6cefb76faa
3 files changed