- Open animation: shortcuts reveal using modified circular reveal
(so that it reveals in the pill shape instead of a circle);
slight translation away from the original icon; scale icon and text.
- Hover animation: scale the shortcut pill and translate others away.
Bug: 28980830
Bug: 30127368
Change-Id: I8ed05c7a082f2c2a3f6c663da7259f6cd33e394f
- Manifest shortcuts are closest to the original icon, in rank order,
followed by dynamic shortcuts in rank order.
- Also prevent pinned shortcuts from showing in container if they
aren't also dynamic (only manifest and dynamic show in container).
Bug: 29822383
Bug: 29946657
Change-Id: I5cdb2ef3700daedca01987f64c245beb3f4aa5ee
- Only add shortcut touch listener to APPLICATION item types, not SHORTCUT.
- Load shortcuts on LauncherModel worker thread instead of using AsyncTask.
- Avoid a couple of unnecessary object allocations.
Change-Id: I31b911b91df71335542545602fe137e270c745d7
- 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