Commit Graph

788 Commits

Author SHA1 Message Date
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
Sunny Goyal 40902b3cb0 Merge "Preventing unnecessary options update to QSB provider by checking if the options have changed before calling update" into ub-launcher3-calgary 2016-05-19 22:54:22 +00:00
Tony Wickham 770217c697 Add null check to page indicator to prevent crashes in landscape.
Change-Id: I9676c19bcdd9129a8519e96febc779f019bc8a13
2016-05-18 15:16:40 -07:00
Sunny Goyal 3f732190cc Preventing unnecessary options update to QSB provider
by checking if the options have changed before calling update

Bug: 28586377
Change-Id: Idf263b7a32ca85f23f728fa29b9c8ac84289052e
2016-05-18 15:00:52 -07:00
Sunny Goyal 7267adf68e Fixing build breakage
Change-Id: Ib649bff709f4b6e4f173006d267aafa069c2a8b4
2016-05-18 09:47:58 -07:00
Sunny Goyal 1acb9e9e29 Rearranging the provider checks to avoid packagemanager lookups
whenever launcher starts

Bug: 28737985
Change-Id: I3ce3e2741b3224fa5419d7ceca496e1bb91f065c
2016-05-18 09:41:27 -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
Tony Wickham f549dab31d Add PageIndicator interface and custom PageIndicatorLine view.
- The current PageIndicator has been renamed to PageIndicatorDots
  and PageIndicatorMarker has been renamed to PageIndicatorDot.
- PageIndicatorDots and PageIndicatorLine implement PageIndicator.
- PageIndicatorLine uses scroll progress and number of pages to
  draw a line of the correct size and position.
- All of these page indicator files are now in a pageindicators package.

Bug: 27227498

Change-Id: I9230d2e0600ce583989bd31d0b0e252b148d15c2
2016-05-17 18:53:57 -07:00
Sunny Goyal aaf7d1d13b instead of unbinding items from the loader, unregistering listeners
in activity.onDestroy()

Bug: 28740269
Change-Id: I6bf2ad6aca43970fd10cfbcc113e609c227e07bf
2016-05-17 14:42:10 -07:00
Sunny Goyal 04cc3a7bea Opening the system default wallpaper picker on clicking the wallpaper tile
Bug: 28790378
Change-Id: If283b60a0b9563ab8e80d49b0ffa195fc3ffda8a
2016-05-17 11:29:46 -07:00
Sunny Goyal 87af0fded6 Removing reference of hostView from LauncherAppWidgetInfo
LauncherAppWidgetInfo is a model item and does not need to reference
a view. Removing this dependency will allow cleaning up the
item unbinding logic

Bug: 28740269
Change-Id: I11fc2e2500b8fe29d157eefe74c70b1decdfd08d
2016-05-16 14:58:20 -07:00
Hyunyoung Song adb8eb5a34 Merge "Widgets tray should preserve scroll position during screen rotation" into ub-launcher3-calgary 2016-05-10 20:49:13 +00:00
Hyunyoung Song bc5d623845 Widgets tray should preserve scroll position during screen rotation
> This used to work, but when I got rid of preloading which was
handled by linear manager to increase scrolling speed, the save
and restore instance that was being handled by the linear layout
manager created using Launcher context also went away. Hence,
bringing back custom LinearLayoutManager.

Change-Id: Ibccdf80533a5ace06cc6c6932b257c223cbac0ff
2016-05-10 13:46:13 -07:00
Tony Wickham 462b5cca7b Extract color for the hotseat.
- Only considers the bottom fourth of the wallpaper
- Is translucent black or white depending on how dark/light
  the wallpaper is
- Hotseat extends behind the nav bar

Bug: 27230217
Change-Id: Id4ea6ee91b4dd221b4c277d22d5041cab178801d
2016-05-09 15:41:38 -07:00