Improve lockscreen launch animations

- Add a timeout so if WindowManager "forgets" to tell that the
activity has drawn, we still unlock after 3 seconds, so the user
is not completely stuck.

- Use the screen height instead of the window height for the
translation animation.

- Don't run the animation if the attached window is not null. The
animation from the attached window will influence the transformation
as well, so there is no need to run an additional animation in this
case (apps with SurfaceView's had broken unlock transitions because
of this).

- If the starting window needs to go away while the unlock transition
is running, modify the existing animation such that it fades out in
the same transition.

Bug: 15991916
Change-Id: Ia5dfa31e1bc0d5745fe228e1daf08e268733b6f1
6 files changed