diff options
author | Craig Mautner <cmautner@google.com> | 2014-09-12 05:47:25 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-12 05:47:25 +0000 |
commit | c0e422db09ada19cfd866d07de440b68a0ee7c86 (patch) | |
tree | aa1d0e920732c1bd142be13b4dbd3793c510e2fc /services | |
parent | 73046f81a66274eb319c8e155ecc2957a0a0ea38 (diff) | |
parent | 2b5496ff78b559eaa853f6183f64068323ee14e7 (diff) | |
download | frameworks_base-c0e422db09ada19cfd866d07de440b68a0ee7c86.zip frameworks_base-c0e422db09ada19cfd866d07de440b68a0ee7c86.tar.gz frameworks_base-c0e422db09ada19cfd866d07de440b68a0ee7c86.tar.bz2 |
am a7f809d3: am 3a6fdd4f: Merge "Add null checks to WindowState.getStack() calls." into lmp-dev
* commit 'a7f809d3b4f74272953b985b099193069e32725a':
Add null checks to WindowState.getStack() calls.
Diffstat (limited to 'services')
3 files changed, 17 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java index 05fc424..da5cfda 100644 --- a/services/core/java/com/android/server/wm/WindowAnimator.java +++ b/services/core/java/com/android/server/wm/WindowAnimator.java @@ -458,7 +458,10 @@ public class WindowAnimator { } final int color = winAnimator.mAnimation.getBackgroundColor(); if (color != 0) { - win.getStack().setAnimationBackground(winAnimator, color); + final TaskStack stack = win.getStack(); + if (stack != null) { + stack.setAnimationBackground(winAnimator, color); + } } } mAnimating = true; @@ -477,7 +480,10 @@ public class WindowAnimator { final int color = appAnimator.animation.getBackgroundColor(); if (color != 0) { - win.getStack().setAnimationBackground(winAnimator, color); + final TaskStack stack = win.getStack(); + if (stack != null) { + stack.setAnimationBackground(winAnimator, color); + } } } } // end forall windows diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index b7e56cb..9033f30 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8556,7 +8556,8 @@ public class WindowManagerService extends IWindowManager.Stub layerChanged = true; anyLayerChanged = true; } - if (layerChanged && w.getStack().isDimming(winAnimator)) { + final TaskStack stack = w.getStack(); + if (layerChanged && stack != null && stack.isDimming(winAnimator)) { // Force an animation pass just to update the mDimLayer layer. scheduleAnimationLocked(); } @@ -9380,6 +9381,9 @@ public class WindowManagerService extends IWindowManager.Stub && !w.mExiting) { final WindowStateAnimator winAnimator = w.mWinAnimator; final TaskStack stack = w.getStack(); + if (stack == null) { + return; + } stack.setDimmingTag(); if (!stack.isDimming(winAnimator)) { if (localLOGV) Slog.v(TAG, "Win " + w + " start dimming."); diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index dd611ce..da97876 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -1368,7 +1368,10 @@ class WindowStateAnimator { mAnimator.setPendingLayoutChanges(w.getDisplayId(), WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER); if ((w.mAttrs.flags & LayoutParams.FLAG_DIM_BEHIND) != 0) { - w.getStack().startDimmingIfNeeded(this); + final TaskStack stack = w.getStack(); + if (stack != null) { + stack.startDimmingIfNeeded(this); + } } } catch (RuntimeException e) { // If something goes wrong with the surface (such |