History log of /packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragOptions.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2bcb3fb1f3ac6234ead13d27817b7a32b7c79b1d 26-Jan-2017 Sunny Goyal <sunnygoyal@google.com> Handing pin item drag when workspce is not loaded

While the launcher is loading, the drag view is displayed with a gray tint.
The drag is started, as soon as the workspace is unlocked

Bug: 33584624
Change-Id: I4013ea8b987ec305e73742b194f9e96af761cc35
/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragOptions.java
10236d6ac7f5f787ca21736494ccb5eaf2bd7c27 28-Sep-2016 Tony Wickham <twickham@google.com> Update pre-drag lifecycle for apps with shortcuts.

- First of all, deferred drag has been renamed to pre-drag
to avoid confusion with the existing deferred end drag.
- For normal drags, the cycle is still startDrag -->
onDragStart --> onDrop --> onDropComplete --> onDragEnd.
- Pre-drags have two additional callbacks: onPreDragStart
and onPreDragEnd. onPreDragStart is called between
startDrag and onDragStart, and onPreDragEnd is called
at the same time as onDragStart or onDragEnd.
- If the pre-drag has not transitioned to a full drag before
onDragEnd, onDragStart and onDropComplete are skipped
(onDrop is still called to allow the DragView to animate).

Change-Id: Icd7a8f75d5fcc159f9a52758c22ab6eae3edb9e2
/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragOptions.java
6e74e899d314663415f54895227bb79a51fd734b 19-Sep-2016 Tony Wickham <twickham@google.com> Refactor shortcuts drag and drop.

- Instead of creating our own drag view within the container, and
handling logic to determine when to start a real drag, we start
the drag immediately and just defer onDragStart().
- To determine when the deferred drag should start, we add a
DeferDragCondition to DragOptions. The default DeferDragCondition
never defers a drag, but is overridden for apps with shortcuts
to defer until the icon is dragged a given distance.
- Because the drag is handled in DragController, including checking
when to start the deferred drag, DeepShortcutsContainer no longer
needs to handle touch events and ShortcutsContainerListener has
been removed.

This change has several immediate benefits:
- The code is much cleaner, because it allows touch handling to be
done by the DragController through the normal drag flow, without
recreating logic in ShortcutsContainerListener/DeepShortcutContainer.
- The janky second haptic feedback has been removed (now it vibrates
when you long press, like everywhere else, but not again when the
shortcuts close after dragging a distance).
- Drops are animated, instead of just popping the icon back into place.

Bug: 30769920
Bug: 30465972
Bug: 31533078
Change-Id: I679b412b72fbf6c3895d76963311eb5010c8e8db
/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragOptions.java
d139b0aa7d03f676dc7869dc5b39fd9f24ff0a1d 12-Sep-2016 Sunny Goyal <sunnygoyal@google.com> Adding support for multiwindow drag and drop

Change-Id: I95b46e3c3f1238307d3ef5a6c81a8e530ba0987a
/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragOptions.java
94b510cc683a6436ae82c6d323cbd8b429561b06 17-Aug-2016 Sunny Goyal <sunnygoyal@google.com> Some drag and drop code refactor:

1) Adding DragOptions to easily extend drap functionality
2) Changing onDragStarted signature to send more information
3) Updating states for dropTargetButton based on drag event directly
4) Removing folder item based on onDragStarted and not startDrag

Change-Id: I65b684e092ddc081d086bfe2c8c1973ed170eaeb
/packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragOptions.java