Merge "Fix no thumbnail animation from app to recents."
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 81d0b4d..b6b134e 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -475,7 +475,9 @@
if (!mLastHidden) {
//dump();
mLastHidden = true;
- mSurfaceController.hideInTransaction(reason);
+ if (mSurfaceController != null) {
+ mSurfaceController.hideInTransaction(reason);
+ }
}
}
@@ -537,7 +539,9 @@
return;
}
if (SHOW_TRANSACTIONS) WindowManagerService.logSurface(mWin, "SET FREEZE LAYER", null);
- mSurfaceController.setLayer(mAnimLayer + 1);
+ if (mSurfaceController != null) {
+ mSurfaceController.setLayer(mAnimLayer + 1);
+ }
mDestroyPreservedSurfaceUponRedraw = true;
mSurfaceDestroyDeferred = true;
destroySurfaceLocked();
@@ -1328,6 +1332,10 @@
}
void setTransparentRegionHintLocked(final Region region) {
+ if (mSurfaceController == null) {
+ Slog.w(TAG, "setTransparentRegionHint: null mSurface after mHasSurface true");
+ return;
+ }
mSurfaceController.setTransparentRegionHint(region);
}
@@ -1374,10 +1382,16 @@
}
void setOpaqueLocked(boolean isOpaque) {
+ if (mSurfaceController == null) {
+ return;
+ }
mSurfaceController.setOpaque(isOpaque);
}
void setSecureLocked(boolean isSecure) {
+ if (mSurfaceController == null) {
+ return;
+ }
mSurfaceController.setSecure(isSecure);
}