OSDN Git Service

Fixed constant window switching on lock screen with Swype KB.
authorWale Ogunwale <ogunwale@google.com>
Fri, 7 Nov 2014 20:13:02 +0000 (12:13 -0800)
committerWale Ogunwale <ogunwale@google.com>
Wed, 12 Nov 2014 16:42:09 +0000 (08:42 -0800)
commit3ae0d3157d5fdeee851f3e72b80f4ed57add0ff8
tree955c8297f0881756b7a838c9514ccd0c01df031a
parent89444a380d85f8961a4a900734590571375b4f3f
Fixed constant window switching on lock screen with Swype KB.

We allow TYPE_INPUT_METHOD windows to show on the lock screen.
These windows can attached other types of windows (For this
case the Swype KB was attaching a PopupWinow which will be
of TYPE_APPLICATION). This causes the popup window app token
to be added to the list of apps to be hidden on the lock
screen, thereby preventing the lock screen from been hidden,
which then causes a layout cycle(s). Now, we remove app
tokens for non-app windows from the hidden list in case it
was added by any attached widow they migth have.

Also, when we are updating window animations, set the
hideWhenLocked flag for windows that are IME tragets so
they don't go through unneeded cycles of having their
visibility policy set to hide/show/hide/show/...

Bug: 18021493
Change-Id: I3680256d41793f62def42fda00e26db1dcc990cc
core/java/android/view/WindowManagerPolicy.java
policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
services/core/java/com/android/server/wm/WindowAnimator.java
services/core/java/com/android/server/wm/WindowManagerService.java