From 8972c2a0c7ec0f8a25005c2eaab31345a2abc323 Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Fri, 5 Jun 2015 16:05:54 -0700 Subject: [PATCH] Fix lockscreen launch animations - Fix the case in WindowAnimator where the real window was ready to draw while the starting window was playing the unlock animation. - Always delay Keyguard done when clicking on a notification. Some notifications started services/broadcasts instead and thus we didn't wait, making it a jarring transition. In case the notification click doesn't result in an activity start at all, we still have the timeout that saves us from freezing (3s), but most notifications should start an activity. Bug: 19412725 Change-Id: I78f6839f59986f8f7ecdff70227d5690a504f475 --- .../src/com/android/systemui/statusbar/BaseStatusBar.java | 2 +- services/core/java/com/android/server/wm/WindowAnimator.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index f34dd692e50ca..c945fc9d9f6e0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -1648,7 +1648,7 @@ public abstract class BaseStatusBar extends SystemUI implements true /* force */, true /* delayed */); visibilityChanged(false); - return intent != null && intent.isActivity(); + return true; } }, afterKeyguardGone); } diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java index 6dc1183842bf7..d7b202d211671 100644 --- a/services/core/java/com/android/server/wm/WindowAnimator.java +++ b/services/core/java/com/android/server/wm/WindowAnimator.java @@ -343,8 +343,7 @@ public class WindowAnimator { boolean applyExistingExitAnimation = mPostKeyguardExitAnimation != null && !winAnimator.mKeyguardGoingAwayAnimation && win.hasDrawnLw() - && win.mAttachedWindow == null - && mForceHiding != KEYGUARD_NOT_SHOWN; + && win.mAttachedWindow == null; // If the window is already showing and we don't need to apply an existing // Keyguard exit animation, skip.