OSDN Git Service

Correct exit animation window retention logic.
authorRobert Carr <racarr@google.com>
Thu, 7 Jan 2016 21:58:52 +0000 (13:58 -0800)
committerRobert Carr <racarr@google.com>
Thu, 7 Jan 2016 23:08:42 +0000 (15:08 -0800)
commit8aa603d830950e40c0224e7f5900275ff29383a8
tree84cd11342c0931737c877390f2e01879e40d21f2
parentdb8f4e56fdf243c19089e71324707bb8d6126fb1
Correct exit animation window retention logic.

The current logic in removeWindow will retain windows
for exit animation if mExiting is true or if isAnimating is true.
In the case that mExiting is false, but perhaps isAnimating is
true (because we are opening or resuming), we could also enter this
code path. This means that if an application removes its window
during an entrance animation, the window could be incorrectly retained
as if for an exit animation. This incorrectly retained window could be
eligible to receive WM focus, despite already having its input handle
being set, this would cause a null focus to be copied to the
InputManager leading to the ANR we observe in linked bug.

Bug: 26157153
Change-Id: Ib02964bcdfba665d7e7162cea8ed96315870d805
services/core/java/com/android/server/wm/WindowManagerService.java