Fix transition between two occluding activities
This fixes an issue when starting an activity that occldues Keyguard with the window flag from an activity that is already occluding Keyguard. Normally we wait until the transition starts until the next activity had a chance to set its layout flag (FLAG_SHOW_WHEN_LOCKED) with the UnknownVisibilityController. Now, since setAppVisibility(false) was called after immediately starting the activity, we removed the activity immediately from the UnknownVisibilityController waiting list and then unoccluded Keyguard. We fix this by only removing the activity from the waiting list if the app is actually hidden and not just because it's hidden by Keyguard. This regressed from I745e985766a1af97203e1d22b6443dabdd0c0363 because calling setVisible(true) was setting the token's visible to true. Then, setVisible(false) was NOT ignored anymore. Previously it was just ignored because the app wasn't made visible yet from WM perspective. Test: go/wm-smoke Test: android.server.cts.KeyguardTransitionTests#testNewActivityDuringOccluded Test: Launch camera from Keyguard with animation transition scale set to 0. (regression test) Change-Id: I36ec1bf335c48baf298e78620381bdd0be34aa1d Fixes: 65061212 Bug: 37677242
Loading
Please register or sign in to comment