Skip to content
Commit 7a563cf4 authored by Josh Tsuji's avatar Josh Tsuji
Browse files

Wait to handle a pending lock until after keyguardGoingAway = false.

If we attempt to re-lock the device in the middle of the unlock sequence,
we can end up in a partially or totally unlocked state indefinitely.

This should have occurred any time the device was re-locked during unlock.
However, the UnlockedScreenOffAnimation delays the pending lock until
after the animation ends. This meant that it was ~always applied after
the going away sequence had already ended.

Because we still can't smoothly animate from the shade to AOD, we disable
the unlocked screen off animation temporarily when the shade is expanded.
During an activity launch from a notification, we leave the shade expanded
for the animation. This meant that the screen off animation was disabled
when the power button was pressed during activity launch, so we applied
the lock immediately, where it was subsequently re-unlocked by the launch
animator's end callbacks.

Fixes: 220907477
Test: atest SystemUITests
Test: No lock screen set, w/ AOD: PASS
Test: No lock screen set, no AOD: PASS
Test: Swipe, w/ AOD: PASS
Test: Swipe, no AOD: PASS
Test: PIN, w/ AOD: PASS
Test: PIN, no AOD: PASS
Test: PIN, w/ AOD, power button does not instantly lock, unlock in < 5s: PASS (does not lock)
Test: PIN, w/ AOD, power button does not instantly lock, unlock in > 5s: PASS
Test: PIN, no AOD, power button does not instantly lock, unlock in < 5s: PASS (does not lock)
Test: PIN, no AOD, power button does not instantly lock, unlock in > 5s: PASS
Test: UDFPS, w/ AOD: PASS
Test: UDFPS, no AOD: PASS
Change-Id: I5ca6f7be21f6c68471fb9e66f9fa1ee65d7ffaaf
parent cb2836e2
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