Commit Graph

260 Commits

Author SHA1 Message Date
Mario Bertschler
08ffaae3b6 Show promise app icon progress in All Apps and setup market intent
on clicking promise app icon in All Apps.

Only the progress will be changed with animation on progress update,
no relayout is performed. If the icon is newly bound, the progress
will not be animated.

Bug: 23952570
Change-Id: I98d3f945f08a2abadf53f20e6007c15e56d5d410
2017-03-20 16:02:24 -07:00
Jon Miranda
4717011626 New folder animations.
Added FolderAnimationManager, which manages the opening
and closing animations.

All of the animations are done in the Folder.
ie. When the users taps on the FolderIcon, we immediately hide the
FolderIcon and show the Folder inits place before starting the animation.

Bug: 35064148
Change-Id: Icacdbbf78a25489f2eab4fd352f2c6ed71eb710b
2017-03-06 16:25:54 -08:00
Tony Wickham
3e90d4350a Update notification visuals (part 2)
am: 9407d4ab57

Change-Id: Ie6a8c6605fdb115fee6c46a0e7b60f1e5a3525ac
2017-03-02 19:51:02 +00:00
Tony Wickham
9407d4ab57 Update notification visuals (part 2)
- Background is now white, and color beneath and divider color
  updated accordingly (not from color extraction)
- Removed overflow text ("+6") and added it to a header
  ("6 Notifications"). Use "..." instead if there is an overflow.
- Even spaced out icons in notification footer between the
  far right icon and the ellipsis
- Remove code to change arrow tint, since it is always white
  now. This also fixes the issue where it was drawn as a rect.

Bug: 35766387
Change-Id: I03bfda4ff029f23dd8b3dd1b72f534ea0e2c0816
2017-03-02 11:27:16 -08:00
Jon Miranda
529af302dc Use FolderIconPreviewVerifier to check if item is in preview.
Bug: 35064148
Bug: 33600656
Change-Id: I71a03636276e6169c7eb8c68eecf31f37fde2d56
2017-02-28 17:52:42 -08:00
Sunny Goyal
2a76e3fbc6 Removing custom state definition from FastBitmapDrawable
> For Fast scrolling, using state list animator defined in xml
> For Pressed state, using onState change method in a drawable

Change-Id: Ia608690f593938cf0f77e00afcc2a3076e48d8f4
2017-02-23 16:15:25 -08:00
Sunny Goyal
1f3f07d47c Simplifying some launcher themes
> Replacing some colors with theme attributes
> Simplifying styles definition by removing unnecessary inheritance and inlining some definitions

Change-Id: Ifa167515cae6a7fd3720f1a52ff9ce11abb4495f
2017-02-16 15:24:37 -08:00
Tony Wickham
1e61849bc7 Animate badges when they are added or removed
- Scale the badge and text or icon up or down, respectively.
- Only animate if the badge is visible, and don't animate when
  applying shortcut or app info.
- Animate folder badge out when folder enters accepting state.

Bug: 34838365
Bug: 32410600
Change-Id: Ie60cb1fc54fe60d72734d833040545d27660d645
2017-02-07 14:10:09 -08:00
Sunny Goyal
96ac68a481 Updating the PreloadIconDrawable
> The drawable gets the path from MaskIconDrawable path, instead of
  using a circle
> The progress changes are animated as well

Bug: 34831873
Change-Id: I4e7f0b610f4fd94de8e0cfcf8b179b775cf0b4d8
2017-02-06 10:43:27 -08:00
Tony Wickham
9438ed414f Add swipe-to-dismiss notifications in popup menu.
- Next secondary icon animates up to replace dismissed main notification
- Add padding around main notification so it always aligns with the
  straight edges of the view (not the rounded corners); looks more
  dismissable
- Notification view collapses as notifications are dismissed
- To mimic system notification behavior, we copy SwipeHelper,
  FlingAnimationUtils, and Interpolators. We also apply elevation
  to notifications and reveal a darker color beneath when dismissing.

Bug: 32410600
Change-Id: I9fbf10e73bb4996f17ef061c856efb013967d972
2017-01-25 17:36:31 -08:00
Tony Wickham
540913eadf Refactor DeepShortcutsContainer to PopupContainerWithArrow
- Also added PopupItemView, which takes animation logic from
  DeepShortcutView, and which DeepShortcutView now extends.
- Renamed ShortcutFilter to PopupPopulator, which has support
  for new item types (not yet used). Also moved populating
  logic (e.g. UpdateShortcutChild Runnable) to PopupPopulator.

Bug: 32410600
Change-Id: Ib6e444ac7ca99c80ba438801c26e62d9542e0ad9
2017-01-25 11:21:47 -08:00
Tony Wickham
010d255018 Add NotificationListener to launcher.
- NotificationListener extends NotificationListenerService, and is
  added to the manifest.
- Added PopupDataProvider, which contains logic for storing and
  interacting with data that goes into the long-press popup menu
  (shortcuts and notifications). A follow-up CL will rename
  DeepShortcutsContainer to a generic PopupContainerWithArrow.
- If Launcher has notification access, NotificationListener will
  get callbacks when notifications are posted and removed; upon
  receiving these callbacks, NotificationListener passes them to
  PopupDataProvider via a NotificationsChangedListener interface.
- Upon receiving the changed notifications, PopupDataProvider maps
  them to the corresponding package/user and tells launcher to
  update relevant icons on the workspace and all apps.

This is guarded by FeatureFlags.BADGE_ICONS.

Bug: 32410600
Change-Id: I59aeb31a7f92399c9c4b831ab551e51e13f44f5c
2017-01-25 09:51:06 -08:00
Tony Wickham
197f97bde4 Merge "FastBitmapDrawable can draw an icon badge (notification count)" into ub-launcher3-master 2017-01-18 22:36:17 +00:00
Tony Wickham
9a8d11f930 FastBitmapDrawable can draw an icon badge (notification count)
- Added BadgeInfo to contain data to be shown in a badge
  (currently just notification count).
- Added BadgeRenderer in DeviceProfile to contain things
  relevant to drawing the badge, such as size and Paint's.
- Added IconPalette to compute colors for the badge based
  on a dominant color (will also be used for notifications)
- FastBitmapDrawable uses these classes to draw the badge.

Bug: 32410600
Change-Id: I6595a4879943357590f7d20c22594691a573ecaf
2017-01-13 10:58:10 -08:00
Sunny Goyal
87f784c285 Removing static Context access using LauncherAppState
> This ensures that LauncherAppState is only accessed in the presence of
a valid context

Bug: 33032833
Change-Id: I955e5cb022f8bd6374681ae6c0720a2666d5b750
2017-01-11 12:52:03 -08:00
Sunny Goyal
2d7cca1e05 Updating PendingAppWidgetHostView to load icon on the background thread
Bug: 21325319
Change-Id: I0886eec5a3f36f5e1ac18020c54891a56bdb5ed2
2017-01-05 13:55:35 -08:00
Sunny Goyal
a52ecb0390 Removing all compatibility code below Lollipop
Bug: 32745285
Change-Id: I62971908e3e4402941fab627bbdfd47be64473a3
2016-12-16 15:05:09 -08:00
Sunny Goyal
1cd01b023a Ensuring that ShortcutInfo always has an icon
> Making iconBitmap public instead of a getter (similar to AppInfo)
> Removing getIcon() which can lead to IO on UI thread
> Removing updateIcon and handling the update at the caller

Bug: 21325319
Change-Id: I6a49b9043f974e9629ea25e77012d97cc04c0594
2016-12-13 10:31:12 -08:00
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