Commit Graph

712 Commits

Author SHA1 Message Date
Winson Chung ef7f874a88 Refactoring all apps search to support external search bar.
- Adding support for an external search bar that can be used
  to search a container view.  This adds a new interface
  AllAppsSearchController which manages the external search
  bar.  Each controller will have its own search implementation
  which means that we no longer need a common AppSearchManager
  interface.
- Removing elevation controller as we no longer have a builtin
  search bar in all apps
- Refactoring container view insets so that they behave
  the same in all containers.
- Refactoring apps view to ensure that we only update the number
  of columns with the available width
- Cleaning up LauncherCallbacks interface

Bug: 20127840
Bug: 21494973

Change-Id: I710b8e18196961d77d8a29f0c345531d480936fe
2015-06-15 14:22:47 -07:00
Sunny Goyal 4f3e9383eb Code cleanup
> Removing obsolete logging
> Removing unused methods
> Removing resource leak warning due to non-static handler class in launcher

Change-Id: Ic38cc8aea82899b0b5ee3235f04e5964e49245fb
2015-06-05 00:34:06 -07:00
Sunny Goyal 0c9143d06b Preventing overdraw in custom content screen
> Assuming customcontent screen is opaque, setting scrim alpha to 0
when the screen is fully visible

Bug: 21584384
Change-Id: Ifa95a10d880532f59573090673e90a87c7edba9b
2015-06-04 16:31:21 -07:00
Winson Chung 8f1eff7b6c Adding context for app launches.
Bug: 21492784
Change-Id: I1b28ac8f44498e1d9770e770b074f19c721c3f10
2015-06-02 16:58:30 -07:00
Sunny Goyal 80aa3ec40f Merge "Fixing screen jumps when performing DnD in rtl mode" into ub-launcher3-burnaby 2015-05-29 22:03:10 +00:00
Sunny Goyal 2b7bf87bba Fixing screen jumps when performing DnD in rtl mode
Bug: 21445825
Change-Id: Ie43d24ce9c8c08dc2c4b3e24692d497760d8cd2d
2015-05-29 15:02:30 -07:00
Vadim Tryshev 8b80baec06 Merge "Fixing non-scrolling of workspace view after opening/closing AllApps vew. The reason for non-scrolling was excluding the pages view from the accessibility hierarchy by marking it as non-important. So, I just removed the code manipulating [non]importance of the PagedView." into ub-launcher3-burnaby 2015-05-28 21:42:16 +00:00
Vadim Tryshev 7af0d4474f Fixing non-scrolling of workspace view after opening/closing AllApps vew.
The reason for non-scrolling was excluding the pages view from the
accessibility hierarchy by marking it as non-important. So, I just
removed the code manipulating [non]importance of the PagedView.

However, this would make the PagesView accessibility-focusable, which is
undesirable. It becomes focusable because it supports long clicks in "normal"
mode. Since it doesn't support accessibility long clicks (i.e. Overview mode is
fetched NOT via accessibility long-click), I just disabled accessibility
long-clickability, which made PageView non-focusable, and it started to behave
correctly.

Bug: 21281859
Change-Id: I7ab01e5f39cb37c456c961199c27458c9bda1c3d
2015-05-28 14:33:36 -07:00
Sunny Goyal 58376925f9 Fixing page background not displayed when dragging from all apps
> Adding empty page synchronously, instead of waiting for a frame
> Changing launcher state from widgets screen in the same frame, similar to all apps
> Removing DragEnforcer, and moving that logic in side the workspace, disabled by a flag
> Using first page to get page bounds in drag layer, as last page may not have been measured

Change-Id: I172ba4e5ce44648ac55402d49994542c6e10f101
2015-05-27 17:50:35 -07:00
Sunny Goyal 5a1f53b306 Removing SmoothPagedView as all its methods are disabled
Change-Id: I83c99bb3d3546693200d64e2233957b4c679e7e6
2015-05-27 10:24:24 -07:00
Sunny Goyal c6205603ef Creating landscape and portrait device profiles at app initialization
Change-Id: Ide9d007adc36b348e19b05cdf49e87f8b02db60e
2015-05-22 08:46:41 -07:00
Sunny Goyal 2805e639cd Animating workspace active background change
> Removing workspace_overscroll_drawable_padding which is always 0

Change-Id: I89900738371458a6eb7cbfee215d98b267d6a0b0
2015-05-21 16:26:15 -07:00
Adam Cohen 2e6da1539b Refactoring DeviceProfile
-> Pulling out the parts of device profile which can (and need to be)
   initialized and accessed without access to an Activity context,
   ie. the invariant bits.
-> The invariant bits are stored in InvariantDeviceProfile which is
   initialized statically from LauncherAppState.
-> The DeviceProfile contains the Activity context-dependent bits,
   and we will create one of these for each Activity instance, and
   this instance is accessed through the Launcher activity.
-> It's possible that we can continue to refactor this such that
   all appropriate dimensions can be computed without an Activity
   context (by only specifying orientation). This would be an
   extension of this CL and allow us to know exactly how launcher
   will look in both orientations from any context.

Sets the stage for some improvements around b/19514688

Change-Id: Ia7daccf14d8ca2b9cb340b8780b684769e9f1892
2015-05-21 16:16:40 -07:00
Sunny Goyal 20812e9640 Merge "Removing some unused functionalities" into ub-launcher3-burnaby 2015-05-20 22:35:49 +00:00
Sunny Goyal 0573977143 Removing some unused functionalities
> Removing obsolete progrard rules
> Removing BackgroundAlphaMultiplier from CellLayout, which is always 1
> Removign otiline animation from workspace. This animation never runs,
as it is called during startReordeing which always happens when
overview mode (workspaceInModalState() is true)

Change-Id: I43219e41ea188771bc818988c1bcbd523f28cba6
2015-05-19 20:03:06 -07:00
Sunny Goyal 83a8f042ad Moving LauncherAccessibilityDelegate to accessibility package
Change-Id: I510204a5a12abf2da2757f3e3f8b0e8869a6b04a
2015-05-19 12:52:30 -07:00
Sunny Goyal 7066003b20 Various lint error fixes.
> Fixing some RTL errors by specifying both marginStart and marginLeft
> Moving all layout direction checks to Utilities
> Explicitely adding @TargetApi before every method

Change-Id: Ibe9c52b93b5a6adeadb27ace2b312770fd732ea0
2015-05-14 12:28:07 -07:00
Sunny Goyal dfaccf64bd Various icon size changes
1) Setting different icon and text size for workspace and all apps
2) Setting padding during BubbleTextView inflation

Change-Id: I59da6986b0d98e8e2aa6065743bb799a6bf06a37
2015-05-11 16:48:05 -07:00
Sunny Goyal ddc20bff8f When updating an icon, keeping the drawable padding same as before
Bug: 17879518
Change-Id: Ifc819c353069bf470fd7ef6f989e4a2ea1289d2d
2015-05-11 14:09:30 -07:00
Sunny Goyal 067e5e0177 Merge "Removing some dead code in paged view" into ub-launcher3-burnaby 2015-05-07 17:19:37 +00:00
Sunny Goyal 8e2133b2c2 Removing some dead code in paged view
> Removing fling to delete pages
> Removing delete drop target for pages
> Removing syncpages support (was used by paged all apps)

Change-Id: I0a35ae30da8c48a27aac341bbee9fb5623665902
2015-05-06 14:12:05 -07:00
Sunny Goyal 1d08f70441 Accessibility: Page re-ordering in overview mode
Change-Id: I5fc0ad326a63b6768cb1fae55ee6e05a9fc2b659
2015-05-06 12:06:48 -07:00
Winson Chung 2a53cb7a5e Merge "Launcher-side changes to support prediction bar." into ub-launcher3-burnaby 2015-05-05 00:36:02 +00:00
Winson Chung cd99cd3ed6 Launcher-side changes to support prediction bar.
Change-Id: Ib9974ad8888ad87137c774f9f531fae9d56b899a
2015-05-04 14:45:54 -07:00
Sunny Goyal ddec73471e Updating fling to delete anim
Change-Id: I1c63e88b3e605113ea66afca9dcfbc30de1d4c8e
2015-04-30 16:02:36 -07:00
Sunny Goyal e9b651eef1 Enabling accessibility drag and drop in folder
> Moving DragAndDropAccessibilityDelegate to a separate class
> Using getFocusedVirtualView() instead of using DownX and downY
> Updating various accessibility strings

Bug: 19776741

Change-Id: I85c2551d4d6172c30702e68f41b114bb999655b6
2015-04-28 16:06:46 -07:00
Sunny Goyal e2df0620c1 Adding LongArrayMap as a replacement for HashMap<Long, E>
Change-Id: I4710e6db69abcdbd897a8401fc8b980c09e2ffef
2015-04-24 12:35:29 -07:00
Sunny Goyal 1a70cef988 Accessibility fixes
> Enabling top bar buttons in accessibility drag-drop
> Unifying logic to show delete/uninstall/app-info targets
> Announcing cell loction as 1-index instead of 0-index

Change-Id: Ibc7801f77e938b2646f0655462cbe9b7f781818b
2015-04-24 10:47:56 -07:00
Sunny Goyal 756adbc3e4 Fixing missing updates in package install sessions
> Ensure icon cache never returns null icon
> Enabling install shortuct receiver only after workspace has finished binding
> Making all the model changes for package installs on worker thread and only
posting the updaes on the UI
> Making shortcut exists check on the loaded items and not on the DB
> Explicitely using worker thread for PckageInstallListener
> Removing backward compatibility support from PackageInstallerCompat

Change-Id: I9592771b9670c1c1c84c8208cae8dafa7b393e65
2015-04-22 10:08:14 -07:00
Winson Chung dc61c4d414 Refactoring to single path for overview mode.
Change-Id: I590a813c6f031342d75c3a6c3e9c9afda1808f2e
2015-04-21 15:54:22 -07:00
Winson Chung e655639609 Merge "Accounting for recent changes in padding when detecting backgound taps to close AllApps." into ub-launcher3-burnaby 2015-04-17 22:56:48 +00:00
Winson Chung 466663edee Accounting for recent changes in padding when detecting backgound taps to close AllApps.
- Also ensuring that we keep the search bar visible in all apps only if it is being overridden.

Change-Id: Iba980ecec255da80aff8ff57b42ad99d70a2122a
2015-04-17 12:51:27 -07:00
Sunny Goyal fa401a10e7 Updating drop button targets
> Splitting DeleteDropTarget into delete and uninstall
> Showing UninstallDropTarget for app shortcuts on workspace
> Showing InfoDropTarget only when developer options is enabled

Change-Id: I4396571d2199d1581bb9c733aef88ab9b0ebd79d
2015-04-16 15:52:04 -07:00
Sunny Goyal 3fa3c12761 Fixing pallpaper parallex in rtl.
The rtl mode, the first screen should correspond to the last
opage offset (since page offset are always defined as
left-to-right)

Change-Id: Ie31139166bd71c423c63968760493ec572af81e9
2015-04-15 13:54:27 -07:00
Winson Chung 0f78572066 Initial changes to support a fixed all-apps layout.
- Dynamically update padding and background depending on fixed bounds and searchbar
- Fixes issue with drag layer bg getting clobbered when rotating launcher
- Tapping outside the bounds of all apps should close all apps
- Fixing typo causing widgets to not show in sw720dp devices

Bug: 20127840

Change-Id: I29c3f905bdee940f938ffe054f58434887073092
2015-04-09 13:18:31 -07:00
Hyunyoung Song 3f471440a8 WidgetTray revamp work
- RecyclerView is rendering
- Animation is connected
- Drag and drop is now handled
- UI tweaking: background, margins, more to come.
- Flicker and preview not loading issue:
  fixed height for the horizontal scroll view.
- Shortcuts are added
- Widget Preview loading should support shortPress for drop
- UI tweaks left: overlay of arrow when there are more items to scroll
- icons are added in the section header
- Sorting of widget sections and widget horizontal list
- Adding all the padding constants to dimen.xml file
- RecyclerView should only support one view type

For items to be addressed in follow up patches OR CLs,
TODO is added to the comment.

b/19897708

Change-Id: Ibfc4da1696a23d20bada93db46e126706eb13cdc
2015-04-08 19:01:34 -07:00
Sunny Goyal 1d4a2df091 Removing ContentObserver from LauncherModel, and calling reload
whereever necessary

Change-Id: Ia4a8abdfe2be9703f3217a60527d3a1220b33bdc
2015-04-01 10:20:18 -07:00
Sunny Goyal e9909f58c2 Removing UninstallShortcutReceiver
> Removing support due to its flacky design. Removing a shortcut
causes a full reload. Also we do not have any concept of owner, so
any app can remove any shortcut.

Bug: 11372484
Change-Id: I781c922fac7dc77ea82cd0a2af74a5fca22500de
2015-04-01 10:11:11 -07:00
Winson Chung 3d9490ab95 Removing more code with API 21 dependencies.
Change-Id: I16c914334ce0694b84626269ae4bb5e83082c739
2015-03-24 18:02:01 -07:00
Sunny Goyal 5319b2bb3b Merge "Removing all dependencies of launcher code on wallpaper-picker" into ub-launcher3-burnaby 2015-03-21 01:19:35 +00:00
Sunny Goyal 6a1e95a3df Removing all dependencies of launcher code on wallpaper-picker
> WallpaperPicker can still depend on launcher code, but not the
other way round.

Change-Id: I93a07f985c3955c638a68a5fad9c09b184a879b9
2015-03-20 18:16:58 -07:00
Sunny Goyal 5b0e669169 Rewrite: Widget preview loader logic
> Widget previews are saved in data dir instead of cache dir
> Expiring widget previews similar to IconCache
> Removed support for setting thread priorities

Bug: 19865031
Change-Id: Ib6033c2b1ff8ae61bba8762ca994ccd8217d3c75
2015-03-20 17:31:11 -07:00
Adam Cohen 091440a9cb Reducing method count by eliminating synthetic accessors
Elimates 304 methods based on dex analysis

The java compiler generates sythetic accessor methods for all private
fields, methods and contructors accessed from inner classes. By marking them
package-private and @Thunk instead, sythentic accessor methods are no
longer needeed. These annotated elements should be treated as private.

Change-Id: Id0dc2c92733474250d8ff12fa793d3a8adeb1f26
2015-03-20 11:15:54 -07:00
Robin Lee 26ace12135 Don't clobber widgets with the same component.
By not storing them in a HashMap keyed against ComponentName (which is
almost guaranteed to conflict with other widgets when managed profiles
are in play).

Bug: 19444068
Change-Id: I6ffce78e8aaf265196239670404cbdaff9fa09be
2015-03-19 21:23:13 +00:00
Sunny Goyal 34b6527cef Lazy loading high res icons
> Loading low-res icons for icons which are not visible on
the homescreen.

Change-Id: I8ac7bf09f6030ed554cb60a4cd402f3f36ffe12b
2015-03-17 15:05:23 -07:00
Winson Chung b745afbdd7 Initial changes to break out AllApps into its own view.
- Moves launcher state-transition code into its own class
- Moves all-apps related code into a separate view/set of classes
- Implements a basic list view for all apps

Change-Id: I68f174aa9e1bf82c4e46ce9549c78a8dc4623f46
2015-03-10 18:14:22 -07:00
Sunny Goyal 434e667b5b Merge "Ensuring setQsbSearchBar is called whenever the QSB is created" into ub-launcher3-burnaby 2015-03-10 21:02:46 +00:00
Adam Cohen ec3682b564 Merge "Enabling accessible drag and drop" into ub-launcher3-burnaby 2015-03-09 19:47:33 +00:00
Adam Cohen c9735cff2e Enabling accessible drag and drop
-> Using the context menu, and a new two stage system, this allows
   users to curate icons and widgets on the workspace
-> Move icons / widgets to any empty cell on any existing screen, or
   create a new screen (appended to the right, as with regular drag
   and drop)
-> Move icons into existing folders
-> Create folders by moving an icon onto another icon
-> Also added confirmations for these and some existing accessibility actions

Limitations:
-> Currently, no support for drag and drop in folders
-> Considering moving the drag view so it doesn't occlude any
   content (in particular, when user changes pages)
-> In this mode, accessibility framework seems to have
   problems with the next / prev operations

Bug: 18482913

Change-Id: I19b0be9dc8bfa766d430408c8ad9303c716b89b2
2015-03-09 11:29:28 -07:00
Sunny Goyal 95deb3a57c Fixing icon disappearing on dropping to workspace
> It was created in ag/645900

Change-Id: I31ca5bf9763292517fa5ee3ccd867897bca45bad
2015-03-05 10:27:01 -08:00