Revised logic to sync keyguard occlude status.

WM and SysUI must be in sync about keyguard occlude status, so WM calls
IKeyguardService#setOccluded to notify to SysUI whether the top activity
can occlude the keyguard or not.

In case remote animation is used for keyguard (un)occlude transition,
SysUI receives a binder call to start keyguard (un)occlude animation and
updates its internal state. So WM doesn't need to call
IKeyguardService#setOccluded.

Note: Keyguard occlude state can be changed without running app
transition animation. In such case, WM still needs to call
IKeyguardService#setOccluded even if remote animation is enabled.

Bug: 191349992
Test: Existing tests pass.

Change-Id: I3991809302cf151c382af5821f5a64df939ecb79
12 files changed