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.
(cherry picked from commit d70feb234f47d6088c751f8c5529a29ac3aa029b)
Change-Id: I7bfa40eea88a609611ecb1c9caaaa2b9c7712d8c
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index eb8eae1..3ffc7fa 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 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 @@
* 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 @@
}
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 af31410..5d445ef 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 @@
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 @@
}
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 fcbc802..972dd42 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -4482,7 +4482,6 @@
// Leash is now responsible for position, so set our position to 0.
t.setPosition(mSurfaceControl, 0, 0);
- mLastSurfacePosition.set(0, 0);
}
@Override
@@ -4498,9 +4497,8 @@
}
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);
}
}