OSDN Git Service

Add animation when unoccluding windows (1/2)
authorJorim Jaggi <jjaggi@google.com>
Mon, 22 Aug 2016 20:08:44 +0000 (13:08 -0700)
committerJorim Jaggi <jjaggi@google.com>
Mon, 29 Aug 2016 21:15:33 +0000 (14:15 -0700)
commit6626f54e658e3da44fab8a5cd6d9d3d4852e2cd1
treef69eb2ff616033956b0f170b1c22fb4799f43158
parent02405fb3490813f3423e35f2656ec9b93c504943
Add animation when unoccluding windows (1/2)

Before there was a jump-cut when a window that was occluding Keyguard
was going away, leading to an ugly flicker. To fix this, we do the
following.

- Always show windows with FLAG_SHOW_WHEN_LOCKED above lockscreen, even
if they don't "match" the currently occluding app (which is null in the
animation case)
- Move wallpaper behind last window that is not hidden by policy, so the
window doesn't get occluded by the wallpaper.
- Add a flag in the setOccluded call whether to animate or not. SystemUI
then plays a nice animation when it's set.
- Override the animation to always be the animation that happens when we
exit a window which is revealing the wallpaper behind, to make it
consistent with the home screen case.

Fixes: 30829255
Change-Id: Ib3fe20fc9003a0f9f291c974740f044ed8707e75
19 files changed:
core/java/android/view/WindowManagerPolicy.java
core/java/com/android/internal/policy/IKeyguardService.aidl
core/res/res/values/symbols.xml
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
services/core/java/com/android/server/policy/PhoneWindowManager.java
services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java
services/core/java/com/android/server/policy/keyguard/KeyguardServiceWrapper.java
services/core/java/com/android/server/wm/AppWindowToken.java
services/core/java/com/android/server/wm/DisplayContent.java
services/core/java/com/android/server/wm/Task.java
services/core/java/com/android/server/wm/TaskStack.java
services/core/java/com/android/server/wm/WallpaperController.java
services/core/java/com/android/server/wm/WindowAnimator.java
services/core/java/com/android/server/wm/WindowManagerService.java