OSDN Git Service

Fix bug where deep shortcut drag view target was skewed to the right.
authorJon Miranda <jonmiranda@google.com>
Tue, 9 May 2017 19:43:44 +0000 (12:43 -0700)
committerJon Miranda <jonmiranda@google.com>
Tue, 9 May 2017 20:00:49 +0000 (13:00 -0700)
Bug: 38140665
Change-Id: I9386bf70cf51b6be33264f85cbfe9e8049d0c32e

src/com/android/launcher3/Workspace.java
src/com/android/launcher3/shortcuts/ShortcutsItemView.java

index 48a62d9..369d80d 100644 (file)
@@ -75,6 +75,7 @@ import com.android.launcher3.folder.FolderIcon;
 import com.android.launcher3.graphics.DragPreviewProvider;
 import com.android.launcher3.graphics.PreloadIconDrawable;
 import com.android.launcher3.popup.PopupContainerWithArrow;
+import com.android.launcher3.shortcuts.ShortcutDragPreviewProvider;
 import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
 import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
 import com.android.launcher3.util.ItemInfoMatcher;
@@ -2257,6 +2258,8 @@ public class Workspace extends PagedView
             int previewSize = grid.folderIconSizePx;
             dragVisualizeOffset = new Point(- halfPadding, halfPadding - child.getPaddingTop());
             dragRect = new Rect(0, child.getPaddingTop(), child.getWidth(), previewSize);
+        } else if (previewProvider instanceof ShortcutDragPreviewProvider) {
+            dragVisualizeOffset = new Point(- halfPadding, halfPadding);
         }
 
         // Clear the pressed state if necessary
index ee64b98..a5c3120 100644 (file)
@@ -109,7 +109,7 @@ public class ShortcutsItemView extends PopupItemView implements View.OnLongClick
         mIconShift.x = mIconLastTouchPos.x - sv.getIconCenter().x;
         mIconShift.y = mIconLastTouchPos.y - mLauncher.getDeviceProfile().iconSizePx;
 
-        DragView dv = mLauncher.getWorkspace().beginDragShared(sv.getBubbleText(),
+        DragView dv = mLauncher.getWorkspace().beginDragShared(sv.getIconView(),
                 (PopupContainerWithArrow) getParent(), sv.getFinalInfo(),
                 new ShortcutDragPreviewProvider(sv.getIconView(), mIconShift), new DragOptions());
         dv.animateShift(-mIconShift.x, -mIconShift.y);