Commit Graph

19 Commits

Author SHA1 Message Date
Sunny Goyal 55cb70bf70 Adding an overridable DrawableFactory to allow creating custom icon drawables
> Adding ItemInfo as a parameter for creating drawable

Change-Id: I793acb0381d2b8df4db0a08317dddf1464788ebc
2016-12-07 15:55:47 -08:00
Sunny Goyal 740ac7f00e Refactoring floating view opening/closing logic
> Creating a base view for floating panels with some common methods
> Moving the getOpen method to individual classes
> Moving the folder icon animation logic to folder icon
> Moving all the logic related for opening folder to Folder class

Change-Id: I898dfb6870b857cb921d2729b89618bc43ff2e88
2016-10-10 13:36:03 -07:00
Sunny Goyal e393d3af36 Using DragObject for folder drop instead of maintaining states when
drag starts from inside a folder

Change-Id: I073b59c194d0bd483d579bbcb638b116b09590a0
2016-09-09 17:25:38 -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
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 ae50284e0a Moving LauncherAccessibilityDelegate to Launcher to associate it with
activity lifecycle.

Change-Id: Ib815505677fa7ed74bdcfe7141b1d9bea5d7143a
2016-06-17 08:44:51 -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 90cb3e51af Revert "Wrapping folderLisners with weak reference, and storing it as an array"
This reverts commit e48644a6cc.

Change-Id: I7bd1d09cae42193de228cb58c08526eeaf57ec04
2016-05-17 21:25:48 +00:00
Sunny Goyal e48644a6cc Wrapping folderLisners with weak reference, and storing it as an array
Storing as an array allows the listeners to be overriten on next bind.
These changes remove the need to unbind the item

Bug: 28740269
Change-Id: Ibbe4b760d64784fbe3075d18e2b946b366d631c5
2016-05-17 12:44:15 -07:00
Adam Cohen 37b2a496eb Remove special code path for not animating folder open in power save mode
-> framework takes care of this
-> stripped unused code

Change-Id: If1941447df5c3145db715971440b80bd754f0bb1
2016-04-08 16:25:08 -07:00
Sunny Goyal c52ba71005 Fixing folder icon not getting redrawn when the contents change
> Removing parent from ItemOperator as inconsistant values were
being passed in workspace and folderPagedView
> Fixing itemChanged causing multiple redraws, by passing a
'animate' parameter to explicitely request animation

Bug:27740161
Bug:28015426

Change-Id: Ide7b266bde9aad5f450a3f808a59182fe01a5110
2016-04-06 12:46:36 -07:00
Adam Cohen f172b747c2 Fix a couple polish bugs with new folder previews
-> Don't reuse the same background object for the folder create preview
   since this can cause interruptions in the animations for previous
   creation previews.
-> When drawing the background to preview creation, don't draw the stroke
   above the icon since the icon is not yet contained by the folder.

Change-Id: Ib666dc2453df465b342c02f3bd109b553a769dcc
2016-04-01 11:50:31 -07:00
Adam Cohen aa2542a461 Invalidate folder drawing paramaters when top padding changes
-> This fixes issues when moving folders between the workspace
   and hotseat (which have different top paddings)

Change-Id: Iac5a4575a403ce8eadd1d3195f02ab10fe5dac23
2016-03-21 14:08:54 -07:00
Adam Cohen efca0279eb Switch all folder preview rendering to be programmatic (ie. no assets)
-> Refactored the preview background rendering to be much more self-contained.
   This cleans up a lot of code in the CellLayout, and keeps the logic in the
   right place.
-> We switch to software rendering for performance and compatibility reasons.
-> Removed all assets.
-> FolderIcon accept animation includes animation of the clipped region.
-> 1:1 hand-off of drawing of the FolderIcon background between the FolderIcon
   and the CellLayout. Unfortunately, CellLayout rendering is still required
   to work around clipping issues (due to use of software layer). We also
   need this to support folder creation feedback.

Change-Id: Ib8f7fa6359dfedff8145f38dd50ba03849ca0d51
2016-03-03 09:24:45 -08:00
Adam Cohen 4f8071b759 Cleaning up folder icon drawing
-> Tracking individual drawing parms for each item
-> This enables animation of the preview items as the preview changes

Change-Id: I1b8f650cb28dc09cfb921bbdc93f2a3db61178fd
2016-02-24 18:20:40 -08:00
Sunny Goyal 261194387b Revert "Reverting refactoring of Folder and FolderIcon to avoid dependencies breakage"
This reverts commit fc956e5a2a.

Change-Id: Ib3b5156b8fc3cad35c4634d61d5390c848ce1f93
2016-02-23 02:02:54 +00:00
Sunny Goyal fc956e5a2a Reverting refactoring of Folder and FolderIcon to avoid dependencies breakage
Change-Id: Ifd0d717d70aff4c83c9eb5cba397d04500b2c869
2016-02-17 13:27:13 -08:00
Adam Cohen 119e8982ab First pass at new FolderIcon visual treatment
-> Modeled as a set of items around a circle
-> Modulate the radius and icon size as number of items grow
-> Clip the icons by a circular clip aligned to the background drawable

Remaining issues
-> Probably want to move to a programmaticly drawn circle + shadow
-> Anti-aliasing of the clipped region will need more attention
-> Need to animate all items in the preview as it changes (this
   wasn't required before)

Change-Id: I678ec605f6c8a34e9d7e4aec4e9583e36a9ef394
2016-02-17 10:41:46 -08:00
Adam Cohen f9c184a619 Refactor FolderIcon to separate the preview effect into it's own class
-> Created com.android.launcher3.folder package to house most folder-related files
   (aside from the FolderInfo) which is more related to the model than the UI.

Change-Id: I767063e1e4c775c01a799a3bede30cd94ac48ade
2016-02-12 17:28:31 -08:00