Commit Graph

58 Commits

Author SHA1 Message Date
Sunny Goyal 35e7d38681 Abstracting out state handler logic into base classes so that it can
also be used in different activity

Change-Id: Ic5e60b21e1429c71f1cd4e7041e70bf4fc9761b7
2020-05-11 16:38:26 -07:00
Sunny Goyal aeec80ddbb Creating default implementation for state lisnter method
> The transition start is used rarely

Change-Id: I0d33f0f6372eb4ef89bfbb66968612693b7c6033
2020-04-24 15:41:29 -07:00
Sunny Goyal e396abf502 Moving model data structures to a separate file
Change-Id: I77ad7a5219e72d2e0d6c1803de2ac3ed6a65a8f7
2020-04-09 13:20:39 -07:00
Sunny Goyal 9b18010990 Decoupling some drag and drop code handling
> Removing some special checks around accessibility drag
> Unifying folder alarm code path for accessible and normal DnD
> Maintaining mDragStartTime inside the dragDriver instead of the callers
> Simplifying some accessibility callbacks

Future cl will create a Accessibility DragDriver and unify it with
other DnD flow

Change-Id: I1919ef218de0174678110f271b450bcb9aaf4a5c
2020-03-18 12:41:42 -07:00
Sunny Goyal 14168431bd Adding support for dynamic calendar and clock icons
Change-Id: Icdba34340a27a4f6dff7310d0bf9fd29aef1330c
2019-10-29 13:50:02 -07:00
Sunny Goyal 6fe3eec95c Moving various common executors to a single location
Change-Id: I44bca49b8adb6fa22c3b48d10f674e42c28d792c
2019-08-20 14:36:17 -07:00
Hyunyoung Song f69426c484 Add shape detection logic only for circle icons
b/119330044

Change-Id: I93042effa8417167d844f073275e8b941e861e60
2019-06-03 14:05:20 -07:00
Sunny Goyal 9fd2d0ee0a Fix crash when launching some apps which require icons to be loaded on
the model thread

Change-Id: I945a94c458d872b41e44b4b3a2d023f85d8a7c88
2019-05-23 18:13:43 -07:00
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