- Mostly everywhere folders are closed
- Implements DragListener so we can close the container when dragging
the original icon or shortcuts from the container. We actually just
hide the container in onDragStart() and really remove it in
onDragEnd(). This avoids interfering with touch events and thus
allows us to remove the hack of explicitly setting the DragLayer's
controller when dragging shortcuts (since it will do it on intercept).
Bug: 30080537
Change-Id: Iccc2afba2a990a613bc588d57c4d8c1b7c65224b
- Dragging a shortcut from a container inside a folder was buggy
because the folder assumes that all drags are removing an item
(so it marks the cell as unoccupied, etc.). So we just close
the folder when dragging a shortcut.
- When the shortcuts container opened outside of a folder, touches
on it were incercepted by DragLayer to close the folder. So we
move the container intercept check first, and return false if the
touch is over the container so it can handle the touch.
Change-Id: I8c5814513e99910b2930e05d9a62dfe0a0a60f3e
- Add ShortcutsContainerListener to icons on workspace, folders, and
all apps. This handles long-press and forwards following touches to
the DeepShortcutsContainer that is created.
- Drag over shortcut before lifting finger to launch it.
- Shortcuts are rendered in pill-shaped DeepShortcutViews,
which are inside DeepShortcutContainer on DragLayer.
- The shortcut container orients above or below the icon, and left or
right-aligns with it. Biases for above + left-align.
- Long press a DeepShortcutPill to drag and pin it to the workspace.
Bug: 28980830
Change-Id: I08658d13ae51fe53064644e8d8f7b42f150fdd7d