From 6b1cb352b86f2cf983026f2e6814665e12eb8452 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Mon, 28 Sep 2009 18:27:26 -0700 Subject: [PATCH] Fix issue #2149126: unable to answer incoming call, various problems Now that we can have a non-app-window cross-wallpaper animation, we need to make sure to not access a null app token. Change-Id: Ia00debd4b2b431d15bd074927a9035e1bc0a6445 --- services/java/com/android/server/WindowManagerService.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java index 01a4122c49fb..84ed3ed8bc9c 100644 --- a/services/java/com/android/server/WindowManagerService.java +++ b/services/java/com/android/server/WindowManagerService.java @@ -1396,12 +1396,15 @@ public class WindowManagerService extends IWindowManager.Stub } } - } else { + } else if (mLowerWallpaperTarget != null) { // Is it time to stop animating? - if (mLowerWallpaperTarget == null - || mLowerWallpaperTarget.mAppToken.animation == null - || mUpperWallpaperTarget == null - || mUpperWallpaperTarget.mAppToken.animation == null) { + boolean lowerAnimating = mLowerWallpaperTarget.mAnimation != null + || (mLowerWallpaperTarget.mAppToken != null + && mLowerWallpaperTarget.mAppToken.animation != null); + boolean upperAnimating = mUpperWallpaperTarget.mAnimation != null + || (mUpperWallpaperTarget.mAppToken != null + && mUpperWallpaperTarget.mAppToken.animation != null); + if (!lowerAnimating || !upperAnimating) { if (DEBUG_WALLPAPER) { Log.v(TAG, "No longer animating wallpaper targets!"); } -- 2.11.0