Reintroduce a timeout on going-away transition

This was formerly enforced using the RemoteAnimation framework's
timeouts. Moving to the RemoteTransition framework lost the time
limit, allowing confused state to sometimes persist forever.

On hitting the timeout, keyguardGoingAway will be reset and the
KeyguardService will be told to directly dismiss with no animation
targets. Then it has two options:

- Ignore the callback, and keyguard will show again by default
- Handle the exit animation, and then call setShowing(false)

Thus there should be a correct final state whether the SysUI is
implementing this callback or not.

This can be removed when goingAway is removed.

Test: Manual - test to follow
Flag: com.android.window.flags.keyguard_going_away_timeout
Bug: 343598832
Change-Id: I4c66716dccabdb85aff845684a69fdd938caf639
2 files changed