Commit Graph

92 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
Tony Wickham
6b910a235d Keep disabled FastBitmapDrawables disabled while fast scrolling.
Previously, they were animating to be colored because they were
set to have a FAST_SCROLL_UNLHIGHLIGHTED state. Now they retain
their disabled color when changing fast scroll states.

Specfically, we remove the DISABLED state and instead make it a
property of the FastBitmapDrawable.

Bug: 32642959
Change-Id: I6cb2da134a550c267eebfc756eff8c91a33f028c
2016-11-11 10:59:17 -08:00
Jon Miranda
bf7d8121ea Scale down folder cells to fit within bounds if necessary.
The number of folder cols/rows are set in InvariantDeviceProfile.
Because of this, we may need to scale down the folder cells in
multi-window mode.

Bug: 32176631
Change-Id: I925d5ac9d29439c5d61cf089e7784065a8cb5ebd
2016-11-04 14:15:33 -07:00
Sunny Goyal
290e9e2807 Updating the paddings in folder cell
am: baec6ffae2

Change-Id: I4bfa78ade93639d3864baeeb5028b9caa3935c29
2016-09-19 16:39:23 +00:00
Sunny Goyal
baec6ffae2 Updating the paddings in folder cell
> Updating overall padding for the cell and adding drawable padding
> Ensuring that the folder cell is always rendered properly based
  on available vertical space

Bug: 30605958
Change-Id: I8ceb9fea5a25052b0d7461f52edca0e6a33fa085
2016-09-16 12:05:02 -07:00
Sunny Goyal
10629b077c Moving some image handling classes to .graphics package
Change-Id: Id6d3d0b9c345a503ff2e09f073eb4b6449e21c7e
2016-09-02 12:34:33 -07:00
Sunny Goyal
494012ad71 Added custom actions for showing the shortcuts menu and adding a quick action on the home screen
am: 3ffa64df36

Change-Id: I296f8550e0c9eeda806dae58b47736bc71745c6a
2016-07-26 00:45:42 +00:00
Sunny Goyal
6f155340b9 Merge "Added custom actions for showing the shortcuts menu and adding a quick action on the home screen" into ub-launcher3-calgary 2016-07-26 00:39:51 +00:00
Sunny Goyal
3ffa64df36 Added custom actions for showing the shortcuts menu and adding a quick action
on the home screen

Bug: 30374655
Change-Id: I2f3ae31f2fb2c09f64f2a47e95a9d25435f7efe2
2016-07-25 17:39:34 -07:00
Sunny Goyal
8f8f398941 Adjusting the text shadows
Bug: 30192204
Change-Id: I4a12246521c41146b801f326a3d37e88aa49b727
2016-07-25 17:34:09 -07:00
Tony Wickham
377ed3f63e Add drag handle to shortcuts.
Also use short text if long text is ellipsized.

Bug: 30212144
Bug: 28980830
Change-Id: I213766bca0561d284d1da883ca37b0a42d886129
2016-07-20 17:28:34 -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
f420438a0b Updating the content description of disabled icons
Bug: 27644457
Change-Id: I03aec29e0ea6017b51dcd7567967a067e478cefd
2016-07-13 10:46:34 -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
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
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
6c651132fb Chaning shadow algorithm to reuse bitmap instead of creating
a new bitmap on every tap

Bug: 27239742
Change-Id: I8e4259b79b1048e5fa82e7a1c8934ec7c52995be
2016-02-26 09:15:06 -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
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
Sunny Goyal
4ffec48dec Making some view properties exported.
These will be visible in hierarchy viewer

Change-Id: I940724a7f61d67b8502d77be203a94875bc92668
2016-02-09 11:29:34 -08:00
Kenny Guy
44cba69638 Grey out suspended applications.
Grey out application shortcuts and all apps entries
for packages that are suspended.

Bug: 22776761
Change-Id: I1b63da1816aca1de52b9f9bee62d1b162d0cdf4d
2016-01-25 11:28:06 +00:00
Sunny Goyal
258797318a Merge "Fixing All apps not respecting scaled icon size" into ub-launcher3-burnaby-polish
am: 49750ce75e

* commit '49750ce75e7413ad3c4fe4be31a2e1d73312794b':
  Fixing All apps not respecting scaled icon size
2015-12-10 17:52:01 -08:00
Sunny Goyal
383e0a29ec Fixing All apps not respecting scaled icon size
Change-Id: I3d05c713939fd69d04f5896cdc5db91480b0d4d1
2015-12-10 13:02:01 -08:00
Sunny Goyal
cd32035203 Merge "Fixing disabled icon getting changed back to normal state on long press" into ub-launcher3-burnaby-polish
am: 5c6f99e290

* commit '5c6f99e29077aea5ab946e2ec30a5705e95a822b':
  Fixing disabled icon getting changed back to normal state on long press
2015-10-21 00:21:47 +00:00
Sunny Goyal
cd5b7f9fc6 Fixing disabled icon getting changed back to normal state on long press
Change-Id: I4f35c1cbecfef7891f8b1187ba3be0af695d4fd5
2015-10-20 15:52:48 -07:00
Sunny Goyal
5a87313591 am eaaed098: Merge "Adding progress information for preload icons in content description" into ub-launcher3-burnaby-polish
* commit 'eaaed098a633eb5a5759778d5b015e11373a5e3d':
  Adding progress information for preload icons in content description
2015-10-01 18:39:10 +00:00
Sunny Goyal
eaaed098a6 Merge "Adding progress information for preload icons in content description" into ub-launcher3-burnaby-polish 2015-10-01 18:36:29 +00:00
Sunny Goyal
c469aadd92 Adding progress information for preload icons in content description
Bug: 24086091
Change-Id: Id8fb024973f4affd998627d30077e2764b07edc4
2015-10-01 11:24:59 -07:00
Winson Chung
81d5a2227b am 2c4d2ccd: Merge "Don’t create dummy app info." into ub-launcher3-burnaby-polish
* commit '2c4d2ccd90e60541efffb980b70270d0bfe4e585':
  Don’t create dummy app info.
2015-09-30 23:04:10 +00:00
Winson
5fbe0746dd Don’t create dummy app info.
Bug: 24539514
Change-Id: I5d14a4d9993e072451f8e7ed9a4cea219ae5d246
2015-09-30 15:44:05 -07:00
Winson
0b90814f86 am c0880491: Highlighting sectioned apps on fast-scroll.
* commit 'c088049113c261331b5685e64050d14a31cd72df':
  Highlighting sectioned apps on fast-scroll.
2015-09-29 17:09:03 +00:00
Winson
c088049113 Highlighting sectioned apps on fast-scroll.
- This CL fixes an old assumption we had about the height
  of rows in AllApps, and ensures that we account for the
  difference in height between the predictive icons and the
  normal icons.
- In addition, we refactor FastBitmapDrawable to have multiple
  states, which it manages in drawing itself, including the
  press state and fast scroll focus states.  And we also refactor
  some of the fast scroll logic in the all apps recycler view
  out to its own class.

Change-Id: I1988159b2767df733bbbfc7dc601859cde6c9943
2015-09-28 17:32:19 -07:00
Mady Mellor
bb83520a62 Refactor StylusEventHelper to provide onButtonPress/Release methods
This will enable an easier migration to the new M APIs for identifying
button presses from stylus / other tools.

Bug: 20430722
Change-Id: I41cfa6eff8d76bb83cf1bdaf6623ec1092ed554c
2015-08-21 11:18:14 -07:00
Sunny Goyal
9fc953b94d Version code cleanup
> Renaming Lmp to Lollipop
  > Lollipop_MR1 instead of directly using 22
  > Using M APIs directly instead of reflection

Change-Id: I10a307f46e3be15b3299f549a2fd7e0e215a6a1b
2015-08-17 13:26:01 -07:00
Sunny Goyal
317698bd01 Loading high resolution icons for first 3 items in a folder
> Sometimes a folder gets rearranged, without updating the model,
   like when an app in uninstalled. In that case, we need to update
   the icons for folder items, which were previously hidden

Bug: 22813360
Change-Id: I99754911c969bf2153efb2948c226c1c69219b88
2015-08-04 11:05:15 -07:00
Winson Chung
b1777447d9 Refactoring fast scroller.
- Fixing issue with fast scroller not fitting name width.
- Refactoring fast scrolling/scroll bar code out of base recycler view
- Adding animations to fast scroller to match design
- Smooth scrolling when jumping between app rows
- Fixing issue with fast scroller jumping when you first pick it up
- Fixing issue with wrong background paddings being used

Bug: 21874346
Bug: 22031923
Change-Id: I9f011b1f375751f437604b900e95a2942d3f4601
2015-06-23 14:24:15 -07:00
Winson Chung
6103501fa6 Merge "Ensuring that we use the screen width more optimally in AllApps." into ub-launcher3-burnaby 2015-06-05 18:09:35 +00:00
Winson Chung
7501adf4b7 Ensure that we use the system long press duration when dragging from AllApps.
- Removing some old code out of LauncherAppState

Bug: 21559400
Change-Id: I3c586094efb7ad8a17d2169bc8aaccf6b0df40a2
2015-06-05 10:52:57 -07:00
Winson Chung
2c6e5ccbcd Ensuring that we use the screen width more optimally in AllApps.
- Fixing issue with prediction bar height being calculated incorrectly
- Fixing issue where the prediction bar divider was not drawn exactly
  between the bar and the first row of apps
- Removing padding to allow scrollbars to reach full height

Bug: 20222023
Bug: 21335377
Change-Id: I2c0614a36e2294d0d6184a6bff4847876ffe971e
2015-06-05 09:49:12 -07:00
Sunny Goyal
53d7ee4285 Fixing different bitmap sizes in different orientations
> Using a single bitmap icon size
> Picking up appropriate density for satisfy the required icon size
> Fixing some icon size assumptions during icon animations

Bug: 19514688
Change-Id: Ia7a1d0d2c03a9d39ccc241fa4ae3eb8a0f374585
2015-06-03 19:07:44 -07:00
Mady Mellor
19b1bad239 Merge "Stylus support: creating and setting listeners for stylus button press" into ub-launcher3-burnaby 2015-06-03 16:26:35 +00:00
Winson Chung
8f1eff7b6c Adding context for app launches.
Bug: 21492784
Change-Id: I1b28ac8f44498e1d9770e770b074f19c721c3f10
2015-06-02 16:58:30 -07:00
Mady Mellor
ef044dd380 Stylus support: creating and setting listeners for stylus button press
This updates almost(*) all locations that use a long press listener to
also set a custom touch listener that recognizes the stylus button press
action.

The stylus button press action is: when a stylus touches a view while the
primary stylus button is pressed which may occur on a DOWN or MOVE event.

*The location this is *not* enabled for is: Longpress to enter "overview"
mode -- this isn't really a selection or drag n drop action; it is also
easy to accidentally do this while using the stylus gesture to drag n drop
items which is not an ideal interaction. Also not set for the "cling" that
demonstrates this.

Bug: 20430722
Change-Id: I9343f143261a7b4fada9afca28b8a11a60dbecca
2015-06-02 15:35:07 -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
Hyunyoung Song
2bd3d7d1cb Load PackageItemInfo in background thread to prevent ANR
- Decoupled widget model from widget view, and placed the
creation to LauncherModel.
- As a result packagemanager operation, iconcache retrieval is all done inside
LauncherModel on background thread
b/21311085
b/21325319

Change-Id: I294698527db58b89f3da558090a367530c058776
2015-05-21 13:04:53 -07:00
Sunny Goyal
bc0998670b Merge "Adding drop shadow effect in allapps" into ub-launcher3-burnaby 2015-05-19 21:07:40 +00:00
Sunny Goyal
69b756486c Preventing relayout when loading high-res icons
Bug: 21133230
Change-Id: I1ec4dbfd28c42fa1c0e28b3fa746c0bc5dfaba7c
2015-05-15 17:05:38 -07:00