From ee1baba8f49a81a9b557a8b841dd74fb5fc0e6ce Mon Sep 17 00:00:00 2001 From: Sebastian Franco Date: Wed, 22 Feb 2023 11:23:41 -0800 Subject: [PATCH] Accoutning for the seam on createAreaForResize for cellX position I fix the left side resize issues but that broke right side resizes because I wasn't accounting for the seam and the other functions don't need to because they don't receive x,y cell position but they receive pixel position which are already accounted for by simulateSeam. Fix: 270227019 Test: atest FoldableItemsIntegrity Test: atest ReorderWidgets Change-Id: Ida09629111ea6f78a089f19a14bd806bd10bbff8 --- .../android/launcher3/MultipageCellLayout.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/com/android/launcher3/MultipageCellLayout.java b/src/com/android/launcher3/MultipageCellLayout.java index a2c52554fc..0d59848bfa 100644 --- a/src/com/android/launcher3/MultipageCellLayout.java +++ b/src/com/android/launcher3/MultipageCellLayout.java @@ -69,17 +69,14 @@ public class MultipageCellLayout extends CellLayout { @Override boolean createAreaForResize(int cellX, int cellY, int spanX, int spanY, View dragView, int[] direction, boolean commit) { + // Add seam to x position + if (cellX > mCountX / 2) { + cellX++; + } + int finalCellX = cellX; return simulateSeam( - () -> super.createAreaForResize(cellX, cellY, spanX, spanY, dragView, direction, - commit)); - } - - @Override - void regionToCenterPoint(int cellX, int cellY, int spanX, int spanY, int[] result) { - simulateSeam(() -> { - super.regionToCenterPoint(cellX, cellY, spanX, spanY, result); - return 0; - }); + () -> super.createAreaForResize(finalCellX, cellY, spanX, spanY, dragView, + direction, commit)); } @Override