Commit Graph

801 Commits

Author SHA1 Message Date
Tony Wickham b9da46275b Cleanup deferred drag when closing deep shortcuts container.
This fixes those states where a drag view dangles on the screen
forever until launcher restarts. For instance, long press
Settings and press home before letting go.

Bug: 30291280

Change-Id: Ib8c403a02a17f35ba170c21f78f41bdc3b48d096
2016-07-27 23:44:53 +00:00
Hyunyoung Song 9dcf0a3ef7 AllAppsTransitionController always use LauncherStateTransitionAnimation
b/30375760

Change-Id: Iee2f8060e4d272d276ddd5d40b4bc6053e8c7778
2016-07-27 10:55:51 -07:00
Hyunyoung Song 68f98ac102 Long press on the caret should start search on all apps container
Change-Id: I87e6b8a9b43bf8a84bcf4d39302bc5c6f6a5f3fd
2016-07-22 14:26:14 -07:00
Sunny Goyal 58368b1515 Merge "Increasing the size of the drag icon when a shortcut is dragged" into ub-launcher3-calgary 2016-07-22 17:47:50 +00:00
Hyunyoung Song c001cf5620 Animate discovery bounce for all apps pull up interaction
b/30221381

> Will not support landscape case. If the user knows how to enable
rotation, it's very unlikely they don't know how to bring up apps drawer
> If unlocked using finger unlock immediately after screen is turned
off, bounce is not shown due to delay in ACTION_SCREEN_OFF broadcast

Change-Id: Ia8b7e572eaa4aeab8b1add1e5660fee3a63ba21c
2016-07-21 17:32:43 -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
Hyunyoung Song 1ce0e30451 Fix NPE on clicking the all apps caret.
Change-Id: I2623e7470ffe711bce375699b9579803ded6c02f
2016-07-21 12:47:28 -07:00
Sunny Goyal 4a44b6e59f Merge "Optimizing open shortcuts container lookep" into ub-launcher3-calgary 2016-07-21 18:57:21 +00:00
Hyunyoung Song 5aa2714959 Add user event log for deep shortcuts and all apps opening interaction.
b/30114798

Change-Id: I11ad99d0bc1983294d6a5329b98917cb87250823
2016-07-21 11:48:37 -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 cb6287aedc Merge "Using the same clip animation for wallpaper button as using for app icons" into ub-launcher3-calgary 2016-07-20 19:01:50 +00:00
Sunny Goyal 0eca4e2b95 Using the same clip animation for wallpaper button as using for app icons
Bug: 30222414
Change-Id: I12ea7be255abe572c29102b6e93c4d2cdfce0aff
2016-07-20 11:56:54 -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
Sunny Goyal fcb81b978d Merge "Moving the QSB out of the cell layout to the Drag layer" into ub-launcher3-calgary 2016-07-14 00:41:42 +00: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
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
Sunny Goyal 2ee27b12e9 Merge "Calling start/stop listening in onStart/onStop" into ub-launcher3-calgary 2016-07-07 16:50:26 +00:00
Andrew Sapperstein b900f1cbaf Merge "Delete all* references to launcher clings." into ub-launcher3-calgary 2016-07-01 18:03:09 +00:00
Andrew Sapperstein 932eb8313c Delete all* references to launcher clings.
Launcher clings are dead. Delete all the code and resources associated with
them.

* Did not delete the actual code the marks the cling as dismissed since it's
used in db upgrade and backup/restore paths. Figured we probably want to keep
that.

Change-Id: I28841b4a430187b62b239afeb64bee81a798e259
Fixes: 29461092
2016-07-01 10:23:20 -07:00
Andrew Sapperstein 8a4bb33472 Merge "Stop showing first run launcher cling." into ub-launcher3-calgary 2016-07-01 03:12:12 +00:00
Peter Schiller 310a988993 Updating all apps to match spec
Change-Id: Ie351fdea2e3b05ca911e6533f0c5d00c17e0847c
2016-06-30 18:09:51 -07:00
Andrew Sapperstein 8b9cb08b02 Stop showing first run launcher cling.
Followup CL will delete the dead code.

Bug: 29461092
Change-Id: Iaf96184219b7b052b7a8d97f403afec236d28437
2016-06-30 17:39:38 -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 5da78f452c Calling start/stop listening in onStart/onStop
AppWidgetHost in N-MR1 was changed to make start/stop lisenting calls
light weight, which allows launcher to avoid getting unnecessary
updates when its not visible

Bug: 23892701
Change-Id: I1f40a1ddc51a9eee304e17e72106bc75afe6c1bc
2016-06-23 15:05:07 -07:00
Sunny Goyal 9994b2b171 Making some shortcut manager calls protected by MR1 version check
Change-Id: Ifdfa95a58aa18a825c1838c61055928dbe0ea3be
2016-06-23 14:55:56 -07:00
Sunny Goyal 2e08409732 Build fix
Change-Id: Ieaf5c91b85c56a3e042bffaad0fdaba090a891cf
2016-06-22 14:37:41 -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
Sunny Goyal 8e6a800480 Merge "Fixing potantial context leak code path" into ub-launcher3-calgary 2016-06-22 18:58:25 +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 e26d1008eb Adding some tracing sections around launcher startup
Bug: 29007436
Change-Id: I53afd9130a2dc70a2223f1623e862faf44370f26
2016-06-20 15:56:22 -07:00
Sunny Goyal 64976d5a56 Fixing potantial context leak code path
The javadoc in createUserEventDispatcher suggested that it can be used
as a singleton. But it was being constructed as an inner class which
would cause context leak when used as singleton

Change-Id: I706018d4ab26b506ac936fe1a7304d9b530b820c
2016-06-20 14:57:54 -07:00
Hyunyoung Song 91f3b1c0b8 Merge "Fixing a crash on APPS->WORKSPACE transition when animation is automated without dragging. b/29424335" into ub-launcher3-calgary 2016-06-20 21:20:32 +00:00
Hyunyoung Song a0c5647f52 Fixing a crash on APPS->WORKSPACE transition when animation is automated without dragging.
b/29424335

Change-Id: I2b109423b5a4cfc94fcda75fdea936785373968f
2016-06-20 13:54:42 -07:00
Andrew Sapperstein abef55a1c1 Update Launcher to use theme colors.
Instead of using hard-coded variants of colors, use the theme color
that corresponds (colorAccent, colorPrimary, etc).

Updated:
- "Search for more apps" text
- App info drop target hover color
- PageIndicatorDots
- All apps & widget scroll bar & scroll popup colors
- All apps section text color
- widget picker background color

TODO:
- widget picker header color

BUG: 28625102
Change-Id: I74b543ff71b8caef8cd950c8183ac84c759cb4d5
2016-06-20 11:46:44 -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 a9a8a42217 UI fixes to All apps pull up work
b/28917826
- nav bar change to light when top of the all apps container
passes y mid point of the status bar
- apps search edit box change when top of the all apps passes
the bottom of nav bar
- Restrict pull up to work only if the ACTION_DOWN event started
from the hotseat.
- Landscape: reverted old padding and margin. Only the interaction
is different.
- Tuning of the motion spec
- Animation duration respects fling speed more agressively.
- and many more small bugs...

Change-Id: Icde4093c41eeab8c9c6d9dc8b7d57adc3b171349
2016-06-15 16:45:48 -07: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 a7ce166b2e Making the security checks and policy changes only when launching custom
shortcuts. This prevents launcher specific intents to unknowingly leak data.

Change-Id: I01343a9cee1f2a9a37a20aaf24e933e2771ecdbc
2016-06-10 13:48:44 -07:00
Sunny Goyal 3333b0ced8 Unifying focus indicator handling for workspace and all-apps
Adding an abstract FocusIndicatorHelper based on FocusIndicatorView
which draws the background instead of using a dummy view.

Change-Id: Id560195323d2ddad8fcd77ba675cf3f4fd4a94ab
2016-06-08 15:00:09 -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
Hyunyoung Song 645764e3e5 Pull up all apps interaction
First phase implementation: dragging and animation interaction is implemented
namely in two classes. ScrollGestureDetector and AllAppsTransitionController.

FeatureFlag.LAUNCHER#_ALL_APPS_PULL_UP will be true for only AOSP and
not in the extending builds. This way, we can safely iterate without
turning it on the shipped ready version.
b/28917826

Change-Id: I0501309c0121880ffe0555f82d6ac5a145581bb1
2016-06-06 14:19:02 -07:00
Sunny Goyal 85fc55a976 Disabling stricty mode checks when launching an activity.
The default strict mode policy in NYC cause death penalty when
when sharing file URI in intent. This causes launcher to crash
for users who have shortcuts of images and documents on their
homescreen.

Bug: 28853579
Change-Id: If84cd5ff732713aaff5d3164edf428c8b4233ea2
2016-05-31 12:51:08 -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 d478c83fd6 Showing a permission dialog when a restored widget is not yet bound, and launcher
does not has the permission to bind the widget

Change-Id: I51d32b9958f82671b928d559105129261fb8f268
2016-05-26 17:44:29 -07:00
Sunny Goyal ded0fdba52 Removing logic for workspace migration from Launcher2
Change-Id: I8a121d74862f665c58406f8d5c7eb1263e7ccff3
2016-05-23 16:00:09 -07:00