diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/DisplayContent.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 22ac65df4337..1fb28e1969a8 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -3703,13 +3703,19 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo .show(mSplitScreenDividerAnchor); scheduleAnimation(); } else { - mAppAnimationLayer.destroy(); + // At this time mBoostedAppAnimationLayer may be used for animating, + // and ResizeableActivity is in it. mBoostedAppAnimationLayer.destroy() + // can also destroy the surface of ResizeableActivity, but the surface will + // be used after. So change to use transaction to call destroy to delay it, + // and ResizeableActivity is not in mBoostedAppAnimationLayer. + getPendingTransaction() + .destroy(mAppAnimationLayer) + .destroy(mBoostedAppAnimationLayer) + .destroy(mHomeAppAnimationLayer) + .destroy(mSplitScreenDividerAnchor); mAppAnimationLayer = null; - mBoostedAppAnimationLayer.destroy(); mBoostedAppAnimationLayer = null; - mHomeAppAnimationLayer.destroy(); mHomeAppAnimationLayer = null; - mSplitScreenDividerAnchor.destroy(); mSplitScreenDividerAnchor = null; } } |