Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +2 −8 Original line number Diff line number Diff line Loading @@ -919,19 +919,13 @@ class DesktopTasksController( } if (inputCoordinate.x <= transitionAreaWidth) { releaseVisualIndicator() val wct = WindowContainerTransaction() addMoveToSplitChanges(wct, taskInfo) splitScreenController.requestEnterSplitSelect(taskInfo, wct, SPLIT_POSITION_TOP_OR_LEFT, taskBounds) snapToHalfScreen(taskInfo, SnapPosition.LEFT) return } if (inputCoordinate.x >= (displayController.getDisplayLayout(taskInfo.displayId)?.width() ?.minus(transitionAreaWidth) ?: return)) { releaseVisualIndicator() val wct = WindowContainerTransaction() addMoveToSplitChanges(wct, taskInfo) splitScreenController.requestEnterSplitSelect(taskInfo, wct, SPLIT_POSITION_BOTTOM_OR_RIGHT, taskBounds) snapToHalfScreen(taskInfo, SnapPosition.RIGHT) return } // A freeform drag-move ended, remove the indicator immediately. Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/VeiledResizeTaskPositioner.java +12 −9 Original line number Diff line number Diff line Loading @@ -61,7 +61,6 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, private int mCtrlType; private boolean mIsResizingOrAnimatingResize; @Surface.Rotation private int mRotation; private boolean mVeilIsVisible; public VeiledResizeTaskPositioner(ShellTaskOrganizer taskOrganizer, DesktopModeWindowDecoration windowDecoration, Loading Loading @@ -119,10 +118,9 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, if (isResizing() && DragPositioningCallbackUtility.changeBounds(mCtrlType, mRepositionTaskBounds, mTaskBoundsAtDragStart, mStableBounds, delta, mDisplayController, mDesktopWindowDecoration)) { mIsResizingOrAnimatingResize = true; if (!mVeilIsVisible) { if (!mIsResizingOrAnimatingResize) { mDesktopWindowDecoration.showResizeVeil(mRepositionTaskBounds); mVeilIsVisible = true; mIsResizingOrAnimatingResize = true; } else { mDesktopWindowDecoration.updateResizeVeil(mRepositionTaskBounds); } Loading @@ -148,11 +146,10 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, final WindowContainerTransaction wct = new WindowContainerTransaction(); wct.setBounds(mDesktopWindowDecoration.mTaskInfo.token, mRepositionTaskBounds); mTransitions.startTransition(TRANSIT_CHANGE, wct, this); } else if (mVeilIsVisible) { } else { // If bounds haven't changed, perform necessary veil reset here as startAnimation // won't be called. mDesktopWindowDecoration.hideResizeVeil(); mIsResizingOrAnimatingResize = false; resetVeilIfVisible(); } } else if (DragPositioningCallbackUtility.isBelowDisallowedArea( mDisallowedAreaForEndBoundsHeight, mTaskBoundsAtDragStart, mRepositionStartPoint, Loading @@ -168,7 +165,6 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, mCtrlType = CTRL_TYPE_UNDEFINED; mTaskBoundsAtDragStart.setEmpty(); mRepositionStartPoint.set(0, 0); mVeilIsVisible = false; return new Rect(mRepositionTaskBounds); } Loading @@ -177,6 +173,13 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, || (mCtrlType & CTRL_TYPE_LEFT) != 0 || (mCtrlType & CTRL_TYPE_RIGHT) != 0; } private void resetVeilIfVisible() { if (mIsResizingOrAnimatingResize) { mDesktopWindowDecoration.hideResizeVeil(); mIsResizingOrAnimatingResize = false; } } @Override public boolean startAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info, @NonNull SurfaceControl.Transaction startTransaction, Loading @@ -192,7 +195,7 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, } startTransaction.apply(); mDesktopWindowDecoration.hideResizeVeil(); resetVeilIfVisible(); mCtrlType = CTRL_TYPE_UNDEFINED; finishCallback.onTransitionFinished(null); mIsResizingOrAnimatingResize = false; Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +2 −8 Original line number Diff line number Diff line Loading @@ -919,19 +919,13 @@ class DesktopTasksController( } if (inputCoordinate.x <= transitionAreaWidth) { releaseVisualIndicator() val wct = WindowContainerTransaction() addMoveToSplitChanges(wct, taskInfo) splitScreenController.requestEnterSplitSelect(taskInfo, wct, SPLIT_POSITION_TOP_OR_LEFT, taskBounds) snapToHalfScreen(taskInfo, SnapPosition.LEFT) return } if (inputCoordinate.x >= (displayController.getDisplayLayout(taskInfo.displayId)?.width() ?.minus(transitionAreaWidth) ?: return)) { releaseVisualIndicator() val wct = WindowContainerTransaction() addMoveToSplitChanges(wct, taskInfo) splitScreenController.requestEnterSplitSelect(taskInfo, wct, SPLIT_POSITION_BOTTOM_OR_RIGHT, taskBounds) snapToHalfScreen(taskInfo, SnapPosition.RIGHT) return } // A freeform drag-move ended, remove the indicator immediately. Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/VeiledResizeTaskPositioner.java +12 −9 Original line number Diff line number Diff line Loading @@ -61,7 +61,6 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, private int mCtrlType; private boolean mIsResizingOrAnimatingResize; @Surface.Rotation private int mRotation; private boolean mVeilIsVisible; public VeiledResizeTaskPositioner(ShellTaskOrganizer taskOrganizer, DesktopModeWindowDecoration windowDecoration, Loading Loading @@ -119,10 +118,9 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, if (isResizing() && DragPositioningCallbackUtility.changeBounds(mCtrlType, mRepositionTaskBounds, mTaskBoundsAtDragStart, mStableBounds, delta, mDisplayController, mDesktopWindowDecoration)) { mIsResizingOrAnimatingResize = true; if (!mVeilIsVisible) { if (!mIsResizingOrAnimatingResize) { mDesktopWindowDecoration.showResizeVeil(mRepositionTaskBounds); mVeilIsVisible = true; mIsResizingOrAnimatingResize = true; } else { mDesktopWindowDecoration.updateResizeVeil(mRepositionTaskBounds); } Loading @@ -148,11 +146,10 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, final WindowContainerTransaction wct = new WindowContainerTransaction(); wct.setBounds(mDesktopWindowDecoration.mTaskInfo.token, mRepositionTaskBounds); mTransitions.startTransition(TRANSIT_CHANGE, wct, this); } else if (mVeilIsVisible) { } else { // If bounds haven't changed, perform necessary veil reset here as startAnimation // won't be called. mDesktopWindowDecoration.hideResizeVeil(); mIsResizingOrAnimatingResize = false; resetVeilIfVisible(); } } else if (DragPositioningCallbackUtility.isBelowDisallowedArea( mDisallowedAreaForEndBoundsHeight, mTaskBoundsAtDragStart, mRepositionStartPoint, Loading @@ -168,7 +165,6 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, mCtrlType = CTRL_TYPE_UNDEFINED; mTaskBoundsAtDragStart.setEmpty(); mRepositionStartPoint.set(0, 0); mVeilIsVisible = false; return new Rect(mRepositionTaskBounds); } Loading @@ -177,6 +173,13 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, || (mCtrlType & CTRL_TYPE_LEFT) != 0 || (mCtrlType & CTRL_TYPE_RIGHT) != 0; } private void resetVeilIfVisible() { if (mIsResizingOrAnimatingResize) { mDesktopWindowDecoration.hideResizeVeil(); mIsResizingOrAnimatingResize = false; } } @Override public boolean startAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info, @NonNull SurfaceControl.Transaction startTransaction, Loading @@ -192,7 +195,7 @@ public class VeiledResizeTaskPositioner implements DragPositioningCallback, } startTransaction.apply(); mDesktopWindowDecoration.hideResizeVeil(); resetVeilIfVisible(); mCtrlType = CTRL_TYPE_UNDEFINED; finishCallback.onTransitionFinished(null); mIsResizingOrAnimatingResize = false; Loading