Initialize stable bounds during onDragStart

The display appearance is occurring after the task
appearance. Because of this, we cannot initialize the stable bounds in
the task positioners' constructors.

Test: atest CtsWindowManagerDeviceTestCases -- --abi x86_64
Bug: 289101765
Change-Id: Ia994ba2eb81a558a53de17839c8959b830bff970
This commit is contained in:
Maryam Dehaini
2023-06-27 13:24:38 -07:00
parent 6ee04ea76f
commit 11835666b8
2 changed files with 8 additions and 4 deletions

View File

@@ -63,8 +63,6 @@ class FluidResizeTaskPositioner implements DragPositioningCallback {
mDragStartListener = dragStartListener;
mTransactionSupplier = supplier;
mDisallowedAreaForEndBoundsHeight = disallowedAreaForEndBoundsHeight;
mDisplayController.getDisplayLayout(windowDecoration.mDisplay.getDisplayId())
.getStableBounds(mStableBounds);
}
@Override
@@ -80,6 +78,10 @@ class FluidResizeTaskPositioner implements DragPositioningCallback {
mTaskOrganizer.applyTransaction(wct);
}
mRepositionTaskBounds.set(mTaskBoundsAtDragStart);
if (mStableBounds.isEmpty()) {
mDisplayController.getDisplayLayout(mWindowDecoration.mDisplay.getDisplayId())
.getStableBounds(mStableBounds);
}
}
@Override

View File

@@ -80,8 +80,6 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback,
mTransactionSupplier = supplier;
mTransitions = transitions;
mDisallowedAreaForEndBoundsHeight = disallowedAreaForEndBoundsHeight;
mDisplayController.getDisplayLayout(windowDecoration.mDisplay.getDisplayId())
.getStableBounds(mStableBounds);
}
@Override
@@ -100,6 +98,10 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback,
}
mDragStartListener.onDragStart(mDesktopWindowDecoration.mTaskInfo.taskId);
mRepositionTaskBounds.set(mTaskBoundsAtDragStart);
if (mStableBounds.isEmpty()) {
mDisplayController.getDisplayLayout(mDesktopWindowDecoration.mDisplay.getDisplayId())
.getStableBounds(mStableBounds);
}
}
@Override