Commit Graph

547 Commits

Author SHA1 Message Date
Sunny Goyal d3b87ef196 Adding quiet mode support for shortcuts
> LauncherApps returns empty list when the user is locked. Not relying on
LauncherApps in this case
> When the user is locked, removing all dynamic shortcuts
> Loading shortcuts from DB when the user is locked
> Verifying the shortcuts again when the user is available

Bug: 30411561
Change-Id: Ib6eb372c5b009cadb86a8f6e781f3f3cbf787ceb
2016-07-29 16:10:31 -07:00
Winson Chung c42087e5c0 Merge changes I33da0d7f,I36c31609 into ub-launcher3-calgary
* changes:
  Working around incorrect wallpaper offsets being calculated in RTL.
  Fixing RTL wallpaper scrolling.
2016-07-29 05:49:20 +00:00
Winson c7d2e83c15 Working around incorrect wallpaper offsets being calculated in RTL.
- When launcher starts up, onCreate() triggers the launcher model loader
  to start, which calls bindScreens() to add the workspace pages.  
  However, layout does not happen until the device is unlocked, which 
  means that even though the default screen index and children are there
  the page scrolls are calculated incorrectly, and even in RTL, the 
  page scroll for the 0th screen is zero (it should be at the right
  most edge of the workspace).  This CL works around this by deferring 
  until the first layout after bindScreens() to unlock the wallpaper
  offset from its default bounds.  The workaround is only applied when 
  the launcher activity is first created.

Bug: 28795125
Change-Id: I33da0d7f934f5337d26e69f068f579a32897a837
2016-07-28 16:21:20 -07:00
Sunny Goyal a2454ad2d8 Launcher shortcuts animations update.
> The shortcut container closes with an animation
> When opening/closing the animation only the icon scales
and not the title and drag handle
> When dragging the icon, it starts from the original icon position and
moves under the user finger. The container grows to follow the drag view.

Bug: 28980830
Change-Id: Ic0353c30b682d1f018cbf4d62e8a6e8e7d7d4664
2016-07-27 17:37:23 -07:00
Sunny Goyal e117f53f36 Merge "Fade QSB with the workspace as the overlay enters" into ub-launcher3-calgary 2016-07-28 00:23:04 +00:00
Adam Cohen 2a82afd6f6 Fade QSB with the workspace as the overlay enters
Change-Id: Iadab9d9f051a85f6772a5d54d38534fcf1b029d7
2016-07-27 17:00:20 -07:00
Sunny Goyal 10923b30a2 Removing shadow and badging from the icon which is shown in the menu
These are added as soon as the icon is added to the workspace

Bug: 28980830
Change-Id: I725d2ee8994324f09d9ecf7bbbb0090a7ceb5769
2016-07-26 14:18:09 -07:00
Winson 8f288aac99 Ensure that we update the preview layout rule when not animating.
Bug: 28166173
Change-Id: Ibf0245f2dd667216ccabb23a1b279b1801d60cac
2016-07-25 17:12:32 -07:00
Sunny Goyal 157793dda4 Increasing the size of the drag icon when a shortcut is dragged
Change-Id: I7d768657300d3229e05d1eb18aec3720a9098ffc
2016-07-21 15:18:24 -07:00
Sunny Goyal 71b3d1c38e Optimizing open shortcuts container lookep
findviewById does a DFS, inseat only looking at the first level children

Change-Id: Idc028a56648ca026c6022425e3a6e7453fa91986
2016-07-20 17:42:58 -07:00
Sunny Goyal 5bc04e67f7 Merge "Protecting QSB scroll while transition animation is running." into ub-launcher3-calgary 2016-07-20 18:59:20 +00:00
Sunny Goyal c553c33ae6 Protecting QSB scroll while transition animation is running.
During transition animation the qorkspace scroll changes while the actual
workspace UI is mostly stable. This causes the QSB to animate while the
pages are not changing.
Bug: 30229069

Change-Id: I66ec41276c0e26164d20da6a5e0e251975390428
2016-07-20 11:20:37 -07:00
Winson 1f06427266 Initial changes to tweak layout.
- Adding DeviceProfile callback for when the launcher layout changes due
  to insets.  This is necessary since there are now different layouts
  depending on which side the navigation bar is on
- Consolidating hotseat and other layout into the device profile 
  launcher layout logic
- Making the all apps icons match the workspace icon height
- Tweaking caret drawable to draw to the bounds specified to simplify
  layout in each orientation
- Fixing minor issue with page indicator shifting in landscape
- Centering overview buttons to the workspace page

Bug: 30021487
Change-Id: I1866bce00b2948f3edd06168c0f88d81207e3f13
2016-07-20 10:17:08 -07:00
Peter Schiller bbff2926f8 Remove caret in overview mode
Bug: 30162951
Change-Id: I71f585e4ae6dfba9dc1d18cd00e45d081cabd4b3
2016-07-19 12:35:16 -07:00
Peter Schiller a30b51ceb2 Adding stateful caret drawable
Change-Id: Iba30da09f882297f789c405f932fef10617bba89
2016-07-14 17:22:49 -07:00
Sunny Goyal 01440c6e83 Adding a view to indicate space blocked by QSB when QSB is hidden
Change-Id: Ifc6b1f2a7312e7919582887ea67bfe900668b70f
2016-07-14 15:12:37 -07:00
Sunny Goyal 6178f13e2d Moving the QSB out of the cell layout to the Drag layer
This allows better edge matching for the QSB. The QSB position
is kept synchronized with the page scroll and all-apps transition.
But its not visible in spring loaded and overview mode

Change-Id: I4e6723607ea966ee672273a9ca67c792fd6b5661
2016-07-13 12:37:08 -07:00
Sunny Goyal b30562da1e Merge "Adding support for non-zero left insets" into ub-launcher3-calgary 2016-07-09 23:25:44 +00:00
Sunny Goyal 53fe1f26d3 Updating page indicator content description to indicate click target
for apps list

Bug: 29777235
Change-Id: Ia3dc20db7ec06455429389de5752b9bcfff15555
2016-07-08 08:49:34 -07:00
Sunny Goyal 6c2975e7e3 Adding support for non-zero left insets
Bug: 29613069
Change-Id: Ifdf9bcce7ecdedc510f3be8a4dc10eb8da7c4bf1
2016-07-07 16:54:58 -07:00
Sunny Goyal e49a97aba0 Changing isExternalDragWidget to isDragWidget as workspace goes to
modal state even when dragging from workspace

Bug: 29900481
Change-Id: I60ce6073b1c06ed19c75a341f9b73f6a147be889
2016-07-07 15:28:07 -07:00
Sunny Goyal 27731e4d7d Merge "Fixing accessibility drag and drop Since the page's accessibility flag is updated when entering drag mode, it does not need to be updated on state change" into ub-launcher3-calgary 2016-07-07 07:34:38 +00:00
Hyunyoung Song 230b2b7f44 Second workspace page icons should not show up when all apps is shown in landscape.
b/29931405

> Also some method names to setTranslation -> setTranslationAndAlpha to
match its implementation.

Change-Id: Icb6ec5df8a267a9024803c70a694ea9b76e5e34d
2016-07-06 15:03:59 -07:00
Sunny Goyal d8d19938e4 Fixing accessibility drag and drop
Since the page's accessibility flag is updated when entering
drag mode, it does not need to be updated on state change

Bug: 29581071
Change-Id: I1a876b4e8530601cb9bf25d097ea37780b525610
2016-07-06 11:46:36 -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
Sunny Goyal 6d64d88b0f Fixing alpha of workspace components being changed at too many places
> Hotseat alpha is changed by all-apps controller, workspaceStateTransition
and overlay transition. Created a 3 state alpha for hotseat and pageIndicator
> Simplified the page-background and alpha animation during state transition
by moving the code in the same if block
> Disabling partial page fading when pull-up all apps is enabled. This fixes
the bug when pressing home with all-apps opened causes other pages to disappear.

Change-Id: I4a75b89af12b48e9fbc49514e641fd424d07199c
2016-06-27 10:43:04 -07:00
Sunny Goyal 653bfcc743 Merge "Accessibility fixes and updates" into ub-launcher3-calgary 2016-06-22 21:34:06 +00:00
Sunny Goyal d0a6ae7f64 Accessibility fixes and updates
> Adding custom actions on the page indicator to go to overview mode
> Disabling custom actions on the first page
> Disabling 'move page left' on the second page

Change-Id: Ib8154f70cb3f93e663a881357c6c46c33253887f
2016-06-22 14:17:34 -07:00
Tony Wickham ec1b1c542c Merge "Add support for launcher shortcuts." into ub-launcher3-calgary 2016-06-22 20:35:31 +00:00
Tony Wickham bfbf7f9f4a Add support for launcher shortcuts.
- This CL has no UI but provides the necessary backing for one.
- Adds new item type: ITEM_TYPE_DEEP_SHORTCUT, to distinguish from
  ITEM_TYPE_SHORTCUT. We can reconsider these names.
- Adds ShortcutCache, using LruCache for up to 30 dynamic shortcuts
  (pinned shortcuts are always cached in a HashMap).
- DeepShortcutManager queries for shortcuts and other things like
  pin them. In a future CL it will use the cache, but for now it
  simply makes an RPC for all queries.
- LauncherModel maintains counts for pinned shortcuts, pinning and
  unpinning when counts reach 1 or 0, respectively.
- LauncherModel maintains a map of components to lists of shortcut ids,
  which Launcher gets a copy of after it is changed in the background.
  This will allow us to know how many shortcuts an app has immediately,
  and query for details as the UI is animating.

Change-Id: Ic526f374dd10d72a261bae67f07f098fca8d8bca
2016-06-21 15:49:16 -07:00
Sunny Goyal bfa8fbd782 Maintaining separate alpha for x and y translations
Bug: 29504823
Change-Id: I6150fec43653c8da4c5841ddbd6c5de739f205b8
2016-06-20 10:54:50 -07:00
Sunny Goyal ae50284e0a Moving LauncherAccessibilityDelegate to Launcher to associate it with
activity lifecycle.

Change-Id: Ib815505677fa7ed74bdcfe7141b1d9bea5d7143a
2016-06-17 08:44:51 -07:00
Sunny Goyal bb011dad4e Adding a flag (enabled by default) to remove the all-apps button.
All apps can still be opened by clicking the caret.

Bug: 29398447
Change-Id: I61f1b05cea83a0a49d7cc16c518c5419618ba779
2016-06-17 08:17:22 -07:00
Sunny Goyal 0af8af3a60 Merge "Adding a DB update path to handle the QSB position change" into ub-launcher3-calgary 2016-06-16 19:34:20 +00:00
Hyunyoung Song 7d2fc8120e Add caret shaped all app pull up handle to page indicator.
b/28917826

> PageIndicator is also added in landscape
> Touch delegate allows the active touch area to be 36dp

Change-Id: If00f45fc88a13cd5a6759d771313439eb58561e3
2016-06-15 12:51:30 -07:00
Sunny Goyal a9e2f5abb3 Adding a DB update path to handle the QSB position change
> Renamed the id of 1st screen to 0 and making space for the QSB
by running the grid migration task.
> Added a feature flag to easily disable the QSB-in-workspace behavior

Change-Id: Ie3369f0d4433d916e9d6215d414770d4333f3e26
2016-06-15 10:03:12 -07:00
Sunny Goyal a92e0dfa0c Unifying the workspace translation logic
Change-Id: I82430734c222d43222763fc6edcadac33dc3e076
2016-06-10 08:55:31 -07:00
Sunny Goyal 9443ef5ec6 Adding support for workspace state change listener
Change-Id: Id0a4bcf345ce928544f5d406f37252a00d1dc7af
2016-06-07 16:21:47 -07:00
Sunny Goyal 2a5b356375 Merge "Allowing the first screen to expand to the screen edge" into ub-launcher3-calgary 2016-06-07 17:10:33 +00:00
Sunny Goyal 7c786f75d1 Allowing the first screen to expand to the screen edge
This allows the QSB to extend all the way to the edge
Change-Id: I43c6e21e44fef7fffe6fb12b7afb95549b68679f
2016-06-06 16:41:57 -07:00
Sunny Goyal 47328fd53f Removing the SearchDropTarget bar as it no longer contains the QSB
> Renaming it to simply DropTargetBar
> Moving AppInfo to the top bar as well
> The workspace pages will extend to the top edge (minus some padding).
Since the QSB is no longer displayed on top of every page, there is
no reason to reserve the space.
> In spring-loaded mode, the workspace cell layout will scale enough
to make room for the drop target bar at the top

Change-Id: I2baf607310335dd576c9d9fcbb75ab708f47ac03
2016-06-06 16:15:46 -07:00
Tony Wickham 034bc3c01c Animate size and position of page indicator when adding/removing page
Change-Id: I85f37a4e0aeb8c3fd0bd8da3b90338d0333a84d5
2016-06-01 17:59:37 -07:00
Tony Wickham d4b28d2e1b Only show workspace page indicator when scrolling or in spring-loaded mode.
- Stop showing indicator when resuming or ending transitions.
- In spring-loaded mode, prevent page indicator from auto-hiding.

Change-Id: I87070d2d8f46cf491e60380aed5540196f2fbba3
2016-05-31 17:00:41 -07:00
Sunny Goyal da4fe1a624 Moving the QSB to the workspace grid.
The QSB will only be resent on the first screen of the workspace
covering the full width of the first row. If will not be movable.
The first screen of the workspace will not be movable.
The searchDropTargetBar no longer contains the QSB (it can be
renamed in aseparate cl).

Refactoring all QSB related logic by moving it to a custom view
inflated only using xml.
Change-Id: Icb4fd6eb855df1af15f685961c38351bf4fd4f4a
2016-05-27 18:23:29 -07:00
Sunny Goyal 6d02c7a033 Adding some UI tests
> Launcher app from all-apps
> Drag icon to all-apps and launch it
> Add widget from widget tray

Change-Id: I6bd6128a7b560a23a887d1fb40bfcda25b9b02e7
2016-05-26 17:20:22 -07:00
Sunny Goyal c487bd34ac Making page indicator an abstract class and implementing some common methods.
Change-Id: I06613428c54f1f086090580db8242cf81f7fb128
2016-05-20 12:49:59 -07:00
Tony Wickham ddb77003e7 Missed one more page indicator null check.
Hopefully this is the last one.

Change-Id: I1af4f7058834fe0ba60ccc8752a6bf0df64be473
2016-05-19 12:45:40 -07:00
Tony Wickham fea0a5f629 Add more null checks for page indicators.
Change-Id: Id86d4827c9079abfb236f956e531f0e29edfc54e
2016-05-19 11:27:55 -07:00
Sunny Goyal c64cfdd8fa Updating the folder page indicator to be more like the
framework page indicator (used in quick settings)

The active page is indicated with the accent color. During scroll
the active indicator expands to 2 dots corresponding to the visible pages.

Change-Id: Iaf57836b642cf87e5eed98048ecca7dd8e7643a4
2016-05-18 17:50:34 -07:00
Tony Wickham ae00781428 Merge "Add PageIndicator interface and custom PageIndicatorLine view." into ub-launcher3-calgary 2016-05-18 02:09:02 +00:00