Loading src/com/android/launcher3/CellLayout.java +7 −2 Original line number Diff line number Diff line Loading @@ -959,8 +959,13 @@ public class CellLayout extends ViewGroup { height = r.height(); } if (v != null && v.getViewType() == DraggableView.DRAGGABLE_ICON) { // Center horizontaly left += ((mCellWidth * spanX) - dragOutline.getWidth()) / 2; if (v != null && v.getViewType() == DraggableView.DRAGGABLE_WIDGET) { // Center vertically top += ((mCellHeight * spanY) - dragOutline.getHeight()) / 2; } else if (v != null && v.getViewType() == DraggableView.DRAGGABLE_ICON) { int cHeight = getShortcutsAndWidgets().getCellContentHeight(); int cellPaddingY = (int) Math.max(0, ((mCellHeight - cHeight) / 2f)); top += cellPaddingY; Loading src/com/android/launcher3/graphics/DragPreviewProvider.java +3 −1 Original line number Diff line number Diff line Loading @@ -92,6 +92,8 @@ public class DragPreviewProvider { public Bitmap createDragBitmap() { int width = 0; int height = 0; // Assume scaleX == scaleY, which is always the case for workspace items. float scale = mView.getScaleX(); if (mView instanceof DraggableView) { ((DraggableView) mView).getVisualDragBounds(mTempRect); width = mTempRect.width(); Loading @@ -102,7 +104,7 @@ public class DragPreviewProvider { } return BitmapRenderer.createHardwareBitmap(width + blurSizeOutline, height + blurSizeOutline, (c) -> drawDragView(c, 1)); height + blurSizeOutline, (c) -> drawDragView(c, scale)); } public final void generateDragOutline(Bitmap preview) { Loading src/com/android/launcher3/widget/LauncherAppWidgetHostView.java +4 −5 Original line number Diff line number Diff line Loading @@ -365,10 +365,9 @@ public class LauncherAppWidgetHostView extends NavigableAppWidgetHostView @Override public void getVisualDragBounds(Rect bounds) { int x = (int) (1 - getScaleToFit()) * getMeasuredWidth() / 2; int y = (int) (1 - getScaleToFit()) * getMeasuredWidth() / 2; int width = (int) getScaleToFit() * getMeasuredWidth(); int height = (int) getScaleToFit() * getMeasuredHeight(); bounds.set(x, y , x + width, y + height); int width = (int) (getMeasuredWidth() * mScaleToFit); int height = (int) (getMeasuredHeight() * mScaleToFit); bounds.set(0, 0 , width, height); } } Loading
src/com/android/launcher3/CellLayout.java +7 −2 Original line number Diff line number Diff line Loading @@ -959,8 +959,13 @@ public class CellLayout extends ViewGroup { height = r.height(); } if (v != null && v.getViewType() == DraggableView.DRAGGABLE_ICON) { // Center horizontaly left += ((mCellWidth * spanX) - dragOutline.getWidth()) / 2; if (v != null && v.getViewType() == DraggableView.DRAGGABLE_WIDGET) { // Center vertically top += ((mCellHeight * spanY) - dragOutline.getHeight()) / 2; } else if (v != null && v.getViewType() == DraggableView.DRAGGABLE_ICON) { int cHeight = getShortcutsAndWidgets().getCellContentHeight(); int cellPaddingY = (int) Math.max(0, ((mCellHeight - cHeight) / 2f)); top += cellPaddingY; Loading
src/com/android/launcher3/graphics/DragPreviewProvider.java +3 −1 Original line number Diff line number Diff line Loading @@ -92,6 +92,8 @@ public class DragPreviewProvider { public Bitmap createDragBitmap() { int width = 0; int height = 0; // Assume scaleX == scaleY, which is always the case for workspace items. float scale = mView.getScaleX(); if (mView instanceof DraggableView) { ((DraggableView) mView).getVisualDragBounds(mTempRect); width = mTempRect.width(); Loading @@ -102,7 +104,7 @@ public class DragPreviewProvider { } return BitmapRenderer.createHardwareBitmap(width + blurSizeOutline, height + blurSizeOutline, (c) -> drawDragView(c, 1)); height + blurSizeOutline, (c) -> drawDragView(c, scale)); } public final void generateDragOutline(Bitmap preview) { Loading
src/com/android/launcher3/widget/LauncherAppWidgetHostView.java +4 −5 Original line number Diff line number Diff line Loading @@ -365,10 +365,9 @@ public class LauncherAppWidgetHostView extends NavigableAppWidgetHostView @Override public void getVisualDragBounds(Rect bounds) { int x = (int) (1 - getScaleToFit()) * getMeasuredWidth() / 2; int y = (int) (1 - getScaleToFit()) * getMeasuredWidth() / 2; int width = (int) getScaleToFit() * getMeasuredWidth(); int height = (int) getScaleToFit() * getMeasuredHeight(); bounds.set(x, y , x + width, y + height); int width = (int) (getMeasuredWidth() * mScaleToFit); int height = (int) (getMeasuredHeight() * mScaleToFit); bounds.set(0, 0 , width, height); } }