summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2014-09-12 05:47:25 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-09-12 05:47:25 +0000
commitc0e422db09ada19cfd866d07de440b68a0ee7c86 (patch)
treeaa1d0e920732c1bd142be13b4dbd3793c510e2fc /services
parent73046f81a66274eb319c8e155ecc2957a0a0ea38 (diff)
parent2b5496ff78b559eaa853f6183f64068323ee14e7 (diff)
downloadframeworks_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')
-rw-r--r--services/core/java/com/android/server/wm/WindowAnimator.java10
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java6
-rw-r--r--services/core/java/com/android/server/wm/WindowStateAnimator.java5
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