diff options
| author | 2018-01-08 17:33:30 +0100 | |
|---|---|---|
| committer | 2018-01-08 17:33:30 +0100 | |
| commit | d70feb234f47d6088c751f8c5529a29ac3aa029b (patch) | |
| tree | c30448ea834bcd2f5ad7205a3e9c0365e5a7d9f9 | |
| parent | ab4c1eaa41fb7fe2b7cbf0982bc6abbfe92e094a (diff) | |
Revert "Avoid setting size/position on Transaction if not needed"
Reason: Causes weird issues with transaction reordering
Fixes: 71694437
Fixes: 71692657
This reverts commit 88f620534f9fe2c3a32765b2a34d3092ab889b1a.
3 files changed, 2 insertions, 18 deletions
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index eb8eae1a95d7..3ffc7fae5d0a 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -44,7 +44,6 @@ import static com.android.server.wm.proto.StackProto.WINDOW_CONTAINER; import android.annotation.CallSuper; import android.content.res.Configuration; -import android.graphics.Point; import android.graphics.Rect; import android.graphics.Region; import android.os.RemoteException; @@ -146,7 +145,6 @@ public class TaskStack extends WindowContainer<Task> implements * For {@link #prepareSurfaces}. */ final Rect mTmpDimBoundsRect = new Rect(); - private final Point mLastSurfaceSize = new Point(); TaskStack(WindowManagerService service, int stackId, StackWindowController controller) { super(service); @@ -745,13 +743,7 @@ public class TaskStack extends WindowContainer<Task> implements } final Rect stackBounds = getBounds(); - final int width = stackBounds.width(); - final int height = stackBounds.height(); - if (width == mLastSurfaceSize.x && height == mLastSurfaceSize.y) { - return; - } - transaction.setSize(mSurfaceControl, width, height); - mLastSurfaceSize.set(width, height); + transaction.setSize(mSurfaceControl, stackBounds.width(), stackBounds.height()); } @Override diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index af314101cd2b..5d445eff0c92 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -95,7 +95,6 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< protected final WindowManagerService mService; private final Point mTmpPos = new Point(); - protected final Point mLastSurfacePosition = new Point(); /** Total number of elements in this subtree, including our own hierarchy element. */ private int mTreeWeight = 1; @@ -1178,12 +1177,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< } getRelativePosition(mTmpPos); - if (mTmpPos.equals(mLastSurfacePosition)) { - return; - } - transaction.setPosition(mSurfaceControl, mTmpPos.x, mTmpPos.y); - mLastSurfacePosition.set(mTmpPos.x, mTmpPos.y); for (int i = mChildren.size() - 1; i >= 0; i--) { mChildren.get(i).updateSurfacePosition(transaction); diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index d10cb24fc353..6eb8926b9de0 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -4484,7 +4484,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP // Leash is now responsible for position, so set our position to 0. t.setPosition(mSurfaceControl, 0, 0); - mLastSurfacePosition.set(0, 0); } @Override @@ -4500,9 +4499,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP } transformFrameToSurfacePosition(mFrame.left, mFrame.top, mSurfacePosition); - if (!mSurfaceAnimator.hasLeash() && !mLastSurfacePosition.equals(mSurfacePosition)) { + if (!mSurfaceAnimator.hasLeash()) { t.setPosition(mSurfaceControl, mSurfacePosition.x, mSurfacePosition.y); - mLastSurfacePosition.set(mSurfacePosition.x, mSurfacePosition.y); } } |