summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chavi Weingarten <chaviw@google.com> 2018-05-18 21:48:54 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-05-18 21:48:54 +0000
commit9335f1e3637af9c2b146ab1ff2cf60349d538e0d (patch)
tree181b7d99c1cf8c841e3f7ad43d48aeae4259c787
parentfedf04f3dfc1195d98bb928d30b47ac07b7f3a29 (diff)
parenta8531a054aca594b3e0a0a3263d82601573c3332 (diff)
Merge changes I281c748a,Ia5b68d59 into pi-dev
* changes: Remove preserve surface block when detaching children. Reparent children when hiding preserved surface.
-rw-r--r--services/core/java/com/android/server/wm/WindowState.java8
-rw-r--r--services/core/java/com/android/server/wm/WindowStateAnimator.java1
2 files changed, 1 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 4e12daf7348c..dac85b345624 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -4415,14 +4415,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
result |= (!wasVisible || !isDrawnLw()) ? RELAYOUT_RES_FIRST_TIME : 0;
- if (mWinAnimator.mChildrenDetached) {
- // If there are detached children hanging around we need to force
- // the client receiving a new Surface.
- mWinAnimator.preserveSurfaceLocked();
- result |= RELAYOUT_RES_SURFACE_CHANGED
- | RELAYOUT_RES_FIRST_TIME;
- }
-
if (mAnimatingExit) {
Slog.d(TAG, "relayoutVisibleWindow: " + this + " mAnimatingExit=true, mRemoveOnExit="
+ mRemoveOnExit + ", mDestroying=" + mDestroying);
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index c44a5820e92c..3eef12540e7f 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -1298,6 +1298,7 @@ class WindowStateAnimator {
// if we are transparent.
if (mPendingDestroySurface != null && mDestroyPreservedSurfaceUponRedraw) {
mPendingDestroySurface.mSurfaceControl.hide();
+ mPendingDestroySurface.reparentChildrenInTransaction(mSurfaceController);
}
return true;