Commit Graph

50 Commits

Author SHA1 Message Date
Sunny Goyal 5686333117 Adding a utility class to cache views at an activity level
Bug: 122345781
Change-Id: I9a939e0b19c06c1089c1ceb515f8b97fb5dbb49e
2019-05-22 14:23:12 -07:00
Sunny Goyal dedda05568 Using a proxy activity for startActivityForResult
This ensures that the home task is never blocked by a different task

Bug: 74500048
Change-Id: I01fd26f1d6242e39b2d8fabac5e064b748aebe62
2019-05-15 16:33:06 -07:00
Jon Miranda 4028575ba0 Fade in badges on top of icons after swipe up animation.
Bug: 123900446
Change-Id: I54e367e0be72781e24d13ec6ea64dbddd85fb0bd
2019-05-15 09:37:24 -07:00
Sunny Goyal 6bbf6004f8 Removing ShortcutInfoCompat and directly using ShortcutInfo
Change-Id: I2842689e192a206c0d31558c8126eae1c7904598
2019-04-22 15:39:40 -07:00
Jon Miranda 3145839f65 Fix bug caused by trying to set background to AdaptiveIconDrawable.
Solution is to flatten the drawable when useDrawableAsIs is true.

Bug: 123900446
Change-Id: I3b86db201ef4fccf10ac42ec367c0538573b7ad8
2019-03-04 20:54:53 -08:00
Jon Miranda 1a49fb5733 Transform closing window to icon on workspace using adaptive icons.
With adaptive icons, we can have FloatingIconView match the shape
and size of the closing window, regardless of the icon shape.

FloatingIconView starts off as a rounded rect (same corners as task view)
and then morphs into the icon shape using FolderShape#createRevealAnimator
in reverse.

Decided to add FeatureFlag.ADAPTIVE_ICON_WINDOW_ANIM since there are still
some issues with folders, badges, and a visible jump when swapping the
FloatingIconView with the original icon.

Bug: 123900446

Change-Id: I94969eea6d5f4b932a84a11eb403611276042b46
2019-03-01 12:48:25 -08:00
Hyunyoung Song 848d86ad32 Remove shape detection logic for icon legacy treatment
Bug: 117991192

Change-Id: Ife2047e7b36099daa4526c471e5c70554f068de1
2018-10-22 15:08:50 -07:00
Hyunyoung Song cda96a5b43 Setup make icon-loader library
Bug: 115891474

Test: make -j10 icon-loader
Next step: Launcher will depend on icon-loader in next CL

Change-Id: I797ddb857cf8be79f3be6ca2f174c593ca3713a5
2018-10-19 14:33:46 -07:00
Hyunyoung Song 48cb7bc7a4 Move IconNormalizer/ShadowGenerator/LauncherIcons to icons package
Bug: 115891474

Sending out the package name changing CL first before I make
LauncherIconsHandler and tests around it.

Change-Id: Ic10479a06333e1435b392a7072cd08782e710cbd
2018-09-26 11:57:37 -07:00
TreeHugger Robot e1c4a90635 Merge "Migrating to android-x" into ub-launcher3-master 2018-08-14 22:53:40 +00:00
Sunny Goyal d230307a95 Migrating to android-x
Change-Id: I9a774152d13a541e8496dd84f2469bfed407f86d
2018-08-14 15:22:12 -07:00
Sunny Goyal f0b6db7fa8 Removing static launcher activity dependency from FirstFrameAnimationHelper
Static dependency does not work in the presence of multiple activities and
when the main activity is not Launcher (eg in fallback recents). Instead
creating FirstFrameAnimatorHelper on demand for individual animations.

Change-Id: I17bb69bbaaca92f0db994fb56fd784302c57d543
2018-08-13 16:10:18 -07:00
Sunny Goyal 849c6a2b18 Removing Launcher activity dependency on various animations
(This cl reverts change-Id: I455edcd17bda83ab51c2c04fa40e66097a4d6975)

Various animations were marked for cancellation when launcher activity is
destroyed. This this does not work with multiple activities (Launcher,
fallback recents, shortcut confirmation). Also since launcher activity
handles configuration changes, the activity is not destroyed often.

Instead associating a target with various animations which automatically
cancels the animations when that target goes away.

Change-Id: I64cd095a28075561a9e20c9dcdeb9f90c18e1047
2018-08-10 13:31:46 -07:00
Sunny Goyal 36b54228fc Retiring some feature flags
Change-Id: I80a00ecaec0785ce2ba6a5f14a54c8a76f555d43
2018-07-10 13:52:17 -07:00
Jon Miranda 31942e788b Fix bug where icon 'jumps' on long press.
Bug: 76155869
Change-Id: I739b00564b0ebe00b3aff326b3c1d62deea9d1d3
2018-05-25 01:49:37 +00:00
Sunny Goyal b6d292d788 Fixing disabled filter is not applied to the foregound layer when dragging an icon
Bug: 79475381
Change-Id: Ic489601f80a3180fe20a83988c2c3db7100e6946
2018-05-09 14:25:09 -07:00
Mario Bertschler d39148afb0 Adding FLAG_ICON_BADGED and check flag in DragView.getBadge.
Bug: 77634973
Change-Id: I0e398bea7aa86246616e37bbd76f0936facb83ba
2018-04-06 08:15:28 +02:00
Derek Sollenberger 26a1b452f4 Stop using deprecated Canvas APIs.
Bug: 73777445
Test: compile
Change-Id: Ic0a1f4ebc10ba46229fd97408c052c0b450b4945
2018-03-01 04:39:57 +00:00
Mario Bertschler 7662a3e917 Enabling to retrieve a badge-package as an extra in ShortcutInfoCompat for
whitelisted package.

> badging respects the badge-package extra

Change-Id: I4e06cd497dff91949f8b0a42c7f3d5aaa724c038
2018-01-16 11:29:34 -08:00
Sunny Goyal 18a4e5aefb Making LauncherIcons thread safe
Creating a pool of LauncherIcons so that they can be used from multiple threads

Change-Id: Idc7b5ddb47b6e338a5389f3c4faa6f63de108c72
2018-01-09 17:30:52 -08:00
Sunny Goyal 179249d804 Dominant color is part of icon cache
> Calculating extracted color during icon generation and storing it in model and DB
> Removing unused logic avoid various types of badge rendering
> Icons are badged with extracted colors, while folder is badged with theme color

Bug: 35428783
Change-Id: I93e30c52fbded7515c3ae1778422e84672eafb56
2018-01-03 16:55:58 -08:00
Sunny Goyal 5bc6b6f14c Consolidating various interpolators
Change-Id: I9588eee3552001b162a1e8d5ccefcfb44d221880
2017-10-26 16:38:55 -07:00
Sunny Goyal aa3a2baab6 Simplifying drag preview generation
> Fixing wrong icon normalization when dragging a folder icon
> Reusing the preview bitmap for creating dragOutline
> Generating drag outline on the background thread

Bug: 35428783
Change-Id: I01e724ba63404302090ee1e562f6c2fc7147ba2f
2017-09-27 09:10:05 -07:00
Hyunyoung Song e24cb63b81 WallpaperManagerCompat should target correct platform
Also replace Utilities.isAtLeastO() to static final constant.
Bug: 65544683

Change-Id: I39fbea66939d72c31702748716c4e65b4f9bee6a
2017-09-11 12:17:09 -07:00
Sunny Goyal 5be7579598 Fixing badge bounds incorrectly set when dragging icon
Bug: 64427027
Change-Id: If57bdcab703b2cc30e8ca0c0fba0dd599792bd00
2017-08-07 10:42:22 -07:00
Tony Wickham 89c467d289 Merge "Handle null background or foreground when dragging adaptive icons" into ub-launcher3-dorval-polish2 2017-07-26 22:07:11 +00:00
Tony Wickham 746c6c36b6 Handle null background or foreground when dragging adaptive icons
Bug: 64080513
Change-Id: I5e80e8a4b4a80ebd3bc052592283eee72d59c0e2
2017-07-26 14:32:25 -07:00
Sunny Goyal e29897f503 Adding spring effect for folder icons when dragging similar to adaptive icons
Bug: 63889144
Change-Id: Idd1fd13c6343bf3e0a3a0e5ff0be730d41996575
2017-07-25 14:30:54 -07:00
Sunny Goyal 1a56a5286c Fixing tint not getting applied when an item is dragged over a drop target
> Changing spring animation to use drawable instead of views. This
  allows us to reuse the size calculations from AdaptiveIconDrawable,
  instead of reimplementing the logic.
> Updating tint logic to concat any existing filter and reapply it to
  the drawable

Bug: 63873434
Change-Id: I30e97d181bd3439e5b10272d4964bad1c70ceb3c
2017-07-19 22:54:52 -07:00
Sunny Goyal bc1d0774aa Fixing clip mask not getting initialized properly.
Before initializing the clip mask, we were calling iconNormalization on
the adaptive icon which was changing the bounds of the drawable (only for
the first call). Instead setting the bounds of the drawable after icon
normalization.

Bug: 63010770
Change-Id: I028d1e38a0d8c4001286d343e107637cf307c4a4
2017-07-04 12:51:02 -07:00
Sunny Goyal 1da138903b Adding support in IconProvider for loading different icons for UI and model use
Bug: 62900800
Change-Id: I86e2d77efc7e5fc85b59cf18e634546d098d138f
2017-06-22 17:13:46 -07:00
Sunny Goyal 2814112998 Properly desaturating the dragview if the icon is disabled
Change-Id: Ic53078750fab013ed07999c6e9a6bf5d9b4c2554
2017-06-21 17:29:04 -07:00
Sunny Goyal a2fde430b5 Enabling spring effect during drag-n-drop on deep shortcuts
Change-Id: Iac128e850c41c0946d28e1ee8824ce8a62b4c395
2017-06-21 14:42:38 -07:00
Sunny Goyal 03a38a669c Fixing scale calculation for spring effect on drag view
Bug: 62823315
> Using the scale value from IconNormalizer
> Using the badge from packageManager (similar to launcher icons)

Change-Id: I7cc65be8619281986c2c26a66c6de40636f12256
2017-06-21 20:36:45 +00:00
Hyunyoung Song 654bf3141b Adaptive icon fetched from icon provider and/or work profile icon should not change during DnD
Bug: 62806605
Bug: 62823315

Change-Id: I2bf7c64df101e1293a2b4b416333e36244406a62
2017-06-21 10:38:11 -07:00
Hyunyoung Song 4a5fd100d7 Add spring effect to adaptive icon foreground layer
b/34841763

Note:
- Tweaked values with motion designer
- icon normalization fix is in
- anti aliasing issue is fixed
- currently only supported on app icons and not on shortcuts

Change-Id: If0e2bd8d49de19c9a81bb0f88b140f170b929934
2017-06-19 14:22:15 -07:00
Tony Wickham 6c82867a7e Add shadow to badges
- Add static method to ShadowGenerator to generate a
  circle Bitmap with a shadow.
- Move setColorScale() from DragView to Themes, and
  use it to apply color to the shadowed Bitmap.

Bug: 35744066
Change-Id: I8d1da528bbf94dc83851f0b4016361ed9f8d5349
2017-03-01 16:36:04 -08:00
Jon Miranda cda3bfb2e1 Remove unused View parameter from ofFloat method.
Change-Id: I5fabd5c78de52ba68b67e0b1bd7208f4d1f7cbea
2017-02-06 15:54:41 -08:00
Sunny Goyal dec3a908bf Updating the preview generation logic so that it aligns better with
the drag source image

> Using common code for pending item drag (WidgetContainerView and PinItemDragListener)
> Adding a shortcut-circuit in Workspace when a pendingItem can create a shortcut
  directly. Previously the multi-window drop was routing through onActivityResult which
  was causing some state information to be lost.

Bug: 33584624
Change-Id: I0259870032185713caa9bff27092dbae6ce91199
2017-01-27 15:09:10 -08:00
Sunny Goyal c6b833dcbb Merge "Removing all compatibility code below Lollipop" into ub-launcher3-master 2016-12-29 21:29:31 +00:00
Jon Miranda c9c57631a9 Fix clipping of drag outline by increasing padding.
Low resolution will be addressed in future CL.

Bug: 31915722
Change-Id: I6bdd32b7a30819fde1f15473a63ac280029b6715
2016-12-20 10:08:42 -08:00
Sunny Goyal a52ecb0390 Removing all compatibility code below Lollipop
Bug: 32745285
Change-Id: I62971908e3e4402941fab627bbdfd47be64473a3
2016-12-16 15:05:09 -08:00
Tony Wickham ea62fe0be1 Animate icons back to where they were picked up.
We do this for pre-dragged icons instead of calling onDrop().
- Removes need for special logic in onDrop() to check if mIsInPreDrag
- Dropping from pre-drag in all apps also animates instead of jumping

We also do this when dropping an icon while still transitioning
to spring-loaded mode, to avoid having a janky jump at the end
- Bug: 27135377

Change-Id: I4548c3e2fef3423d1ba36057fb53807b1b4ad0fc
2016-11-02 15:07:57 -07:00
Sunny Goyal a2454ad2d8 Launcher shortcuts animations update.
> The shortcut container closes with an animation
> When opening/closing the animation only the icon scales
and not the title and drag handle
> When dragging the icon, it starts from the original icon position and
moves under the user finger. The container grows to follow the drag view.

Bug: 28980830
Change-Id: Ic0353c30b682d1f018cbf4d62e8a6e8e7d7d4664
2016-07-27 17:37:23 -07:00
Sunny Goyal 157793dda4 Increasing the size of the drag icon when a shortcut is dragged
Change-Id: I7d768657300d3229e05d1eb18aec3720a9098ffc
2016-07-21 15:18:24 -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 e0c3323656 Tweak spring-loaded workspace.
- No page indicators in spring-loaded mode
- Don’t move workspace up as high
- Scale workspace at 90% instead of 80% on phones
- Increase speed of workspace -> spring-loaded -> workspace
- Widgets were being scaled down twice when dragging from widget picker
- Don't scale up icons when dragging (scaling other stuff down is enough)
- Make scrim less dark and panels more transparent
- Thin white border around page instead of highlight when hovering

Change-Id: I963e91c20d4c0340480d165e0f3b8064783c0cb2
2016-02-08 11:37:19 -08:00
Tony Wickham 11c45f1141 Merge "Add appropriate (tiny) offset to widget drops so they land correctly." into ub-launcher3-burnaby-polish
am: 8db5d7ca60

* commit '8db5d7ca60e79f007bfce7952c15c74d0ee44bc0':
  Add appropriate (tiny) offset to widget drops so they land correctly.
2015-12-04 14:21:19 -08:00
Tony Wickham 778c0b020d Scale down drag views in spring-loaded workspace.
Bug: 24190193
Change-Id: Ic490fc3f46702c3d5360e869c4172f31700085a1
2015-10-01 11:08:36 -07:00
Vadim Tryshev fedca43d39 Moving drag-drop related code into a separate package.
This is per an earlier CR comment "we should probably move all this code to its own package (launcher3.dragndrop) in a separate cl".

I'm not moving DragSource because it's referred from gsa code.

Bug: 22609426
Change-Id: Ia7204dab99c0c395c66b77143a2d60411153f5f3
2015-08-20 07:45:57 -07:00