Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 43ba03fd authored by Alejandro Nijamkin's avatar Alejandro Nijamkin
Browse files

[flexiglass] isDeviceEntered also checks back stack

isDeviceEntered should always reflect whether the user has "passed the
lockscreen". Up until this point, this has only happened if the user
visited the Gone scene. This CL changes that for cases when the
lockscreen is "passed" by the user but without yet visiting the Gone
scene.

For example, in the case of
unlocking while looking at the Shade scene (when clicking a notification
that requires unlocking to continue).

In cases like the one above, the current scene is Bouncer and the
back stack is (top to bottom): [Shade, Lockscreen].

This CL contains two main changes:
1. Replace the Lockscreen at the bottom of the back stack with Gone,
   when unlocking in this case
2. Make DeviceEntryInteractor.isDeviceEntered watch the bottom of the
   back stack for a Lockscreen -> Gone swap in addition to the classic
   visiting of the Gone or Lockscreen scenes as it did before

Bug: 359530769
Test: unit test added for the new case
Test: existing unit and integration tests modified to better model
what's going on and make them pass
Test: manually verified no harm done (a) normal unlock with pattern
bouncer + re-lock + visiting all scenes in both locked and unlocked
states (b) locked -> shade -> notification click -> unlock via alternate
bouncer / fingerprint (c) locked -> shade -> notification click ->
dismiss alternate bouncer -> bouncer -> unlock via bouncer (d) double
tap power to bring up camera app while locked -> click on gallery button
-> unlock via alternate bouncer / primary bouncer
Flag: com.android.systemui.scene_container

Change-Id: I9e8b6a34afd574352d01f25819b71e1702af3d15
parent 79e3576e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment