Merge "Account for span greater than 1 in getReorderRadius" into tm-qpr-dev am: 89b8f65277

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/19441591

Change-Id: Iae70d6d2bccce247803774434f22977e807446b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-08-03 14:33:24 +00:00
committed by Automerger Merge Worker
2 changed files with 7 additions and 6 deletions
+5 -5
View File
@@ -496,8 +496,8 @@ public class CellLayout extends ViewGroup {
// Draw reorder drag target.
debugPaint.setColor(Color.RED);
canvas.drawCircle(cellCenter[0], cellCenter[1], getReorderRadius(targetCell),
debugPaint);
canvas.drawCircle(cellCenter[0], cellCenter[1],
getReorderRadius(targetCell, 1, 1), debugPaint);
// Draw folder creation drag target.
if (canCreateFolder) {
@@ -912,18 +912,18 @@ public class CellLayout extends ViewGroup {
DeviceProfile grid = mActivity.getDeviceProfile();
float iconVisibleRadius = ICON_VISIBLE_AREA_FACTOR * grid.iconSizePx / 2;
// Halfway between reorder radius and icon.
return (getReorderRadius(targetCell) + iconVisibleRadius) / 2;
return (getReorderRadius(targetCell, 1, 1) + iconVisibleRadius) / 2;
}
/**
* Returns the max distance from the center of a cell that will start to reorder on drag over.
*/
public float getReorderRadius(int[] targetCell) {
public float getReorderRadius(int[] targetCell, int spanX, int spanY) {
int[] centerPoint = mTmpPoint;
getWorkspaceCellVisualCenter(targetCell[0], targetCell[1], centerPoint);
Rect cellBoundsWithSpacing = mTempRect;
cellToRect(targetCell[0], targetCell[1], 1, 1, cellBoundsWithSpacing);
cellToRect(targetCell[0], targetCell[1], spanX, spanY, cellBoundsWithSpacing);
cellBoundsWithSpacing.inset(-mBorderSpace.x / 2, -mBorderSpace.y / 2);
if (canCreateFolder(getChildAt(targetCell[0], targetCell[1]))) {
+2 -1
View File
@@ -2424,7 +2424,8 @@ public class Workspace<T extends View & PageIndicator> extends PagedView<T>
} else if ((mDragMode == DRAG_MODE_NONE || mDragMode == DRAG_MODE_REORDER)
&& !mReorderAlarm.alarmPending()
&& (mLastReorderX != reorderX || mLastReorderY != reorderY)
&& targetCellDistance < mDragTargetLayout.getReorderRadius(mTargetCell)) {
&& targetCellDistance < mDragTargetLayout.getReorderRadius(mTargetCell, item.spanX,
item.spanY)) {
int[] resultSpan = new int[2];
mDragTargetLayout.performReorder((int) mDragViewVisualCenter[0],