Commit Graph

7 Commits

Author SHA1 Message Date
Tony Wickham 8f58e61d02 Update shortcut animations.
- 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
2016-07-19 13:58:51 -07:00
Tony Wickham 2c99d2ceeb Implement ranking for shortcuts.
- 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
2016-07-19 13:53:26 -07:00
Tony Wickham db19730e87 Use the shortcut's long label in the container, if it is available.
Bug: 28980830
Change-Id: Iefea0a7ee4be5bf45af14ce47abdd597f4137f92
2016-07-13 17:46:26 -07:00
Tony Wickham 7b8f1eaba1 Address comments on original shortcuts UI CL (ag/1061538).
- 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
2016-07-13 14:47:58 -07:00
Tony Wickham 49c8d29fdd Close the shortcuts container in various places.
- 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
2016-07-13 12:35:04 -07:00
Tony Wickham 2f2104ccdf Fix some issues with shortcut containers opened inside folders.
- 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
2016-06-30 16:34:20 -07:00
Tony Wickham 1bce7fd342 Long-press on an app to reveal its shortcuts.
- 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
2016-06-29 17:48:46 -07:00