Merge "Calculate current position for window animation leash" into main
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index aca3119..b716dc6 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -4977,8 +4977,15 @@
displayInfo.appWidth, displayInfo.appHeight);
anim.restrictDuration(MAX_ANIMATION_DURATION);
anim.scaleCurrentDuration(mWmService.getWindowAnimationScaleLocked());
+ final Point position = new Point();
+ if (com.android.window.flags.Flags.removePrepareSurfaceInPlacement()) {
+ transformFrameToSurfacePosition(mWindowFrames.mFrame.left, mWindowFrames.mFrame.top,
+ position);
+ } else {
+ position.set(mSurfacePosition);
+ }
final AnimationAdapter adapter = new LocalAnimationAdapter(
- new WindowAnimationSpec(anim, mSurfacePosition, false /* canSkipFirstFrame */,
+ new WindowAnimationSpec(anim, position, false /* canSkipFirstFrame */,
0 /* windowCornerRadius */),
mWmService.mSurfaceAnimationRunner);
startAnimation(getPendingTransaction(), adapter);