This fix allows for a clean tradeoff between the FIV and the original icon
in all icon shapes.
Bug: 130292844
Change-Id: Ief2eec2673161e0f9d32d8710713a1f01880040d
Workspace and hotseat are drawn in rotated UI giving the impression that the
device is in Portrait, even though it is in landscape
Bug: 131360075
Change-Id: I29c4068af25fd4dcf7039b9a45886e864a137977
This change allows us to quickly end the animation if the user begins
interacting with launcher before the animation is over. This can currently
happen when the user swipes up to go home, and then quickly swipes up again
to enter overview.
Bug: 129421279
Change-Id: I88c7d55ef8ac09f999c082317de3bb3693c11466
For the app open animation, we load the adaptive icon on the bg thread.
When the icon is done loading, we swap the og view with the FloatingIconView.
If the icon loads after the animation is done, we still set the og view
to INVISIBLE and it never gets restored since the animation is already done.
To fix this, we do not swap the views if the animation has already ended.
Bug: 130245920
Change-Id: I5cf85de4e2c533da8c395a23899980d27a941e1b
Before, the window used to track the FloatingIconView. With this refactor,
both app open and app close use the same update method.
With the refactor, we can now use adaptive icons to morph the icon into the
size of the window.
Movement/interpolators are still the same as the original except for the
alpha and the clip animation. To ensure a perfect tradeoff, we wait for the
icon to match the size and shape of the window before crossfading.
Currently it is set up so that the tradeoff happens when the animation is
15% done, but this can be tuned later.
Bug: 122843905
Change-Id: I7d3edbefffb15fe26958a62ab33cf23dc1203908
* Added a cross fade at the end for text and shadows.
* Animate in FolderIcon bg/dot/text after swapping.
Bug: 129297366
Change-Id: Ieeb5d7b8fb389a2f7ee263d38b3021ffdefefd93
Now instead of an incorrect hack that simulated accelerating to the target,
we actually apply spring forces to make it feel realistic and work no matter
where the target is.
Added two helper classes for this:
- FlingSpringAnim handles the fling, applying friction until reaching the target,
then a spring to pull towards the final position (also applies if fling wasn't
in the right direction or strong enough to reach the target).
- RectFSpringAnim uses 2 FlingSpringAnims (x + y) to animate from a starting rect
to a target rect. It also has an animation to scale from the start rect to the
target rect, sending progress update callbacks to the caller.
Bug: 123900446
Change-Id: Iafa89db1d55c42816acfa9f1bb84a7519b69ff12
- getFirstMatchForAppClose now only looks at the current page, since switching
pages is disruptive and the animation for app closing to an icon on a
different page is unclear.
- Searches for package name and user id (in case of work profile app)
instead of component name to handle shortcuts and trampoline activities.
- Adaptive icon background drawable is now always centered
- Fix crash that occurs when ADAPTIVE_ICON_WINDOW_ANIM is off. We were trying
to set FolderAdaptiveIcon as the background drawable. Simplest solution is
to not use folder as a search criteria when the flag is off.
- Similar to DragView, FloatingIconView now uses BubbleTextView icon when
adaptive icon support is not available. This handles legacy-treated apps.
Bug: 123900446
Change-Id: Idaf292bb39d78db511cf2ee04a16b191454846b3
- Needed to account for the preview bounds (similar to BubbleTextView icon
bounds)
- Also needed to update the bitmap shift amount so that it is re-centered
- Moved ShiftedBitmapDrawable to its own class in graphics package
Bug: 123900446
Change-Id: Ifa9e3f688e55d017cf86a0285f5cdb1b014f01e6
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
- Created FloatingIconView which is now used by both the app close and
app open animation.
- getItemLocation in DeviceProfile is used to get an item's final location
since getLocationOnScreen may return a View's location mid-animation.
- Added getFirstMatchForAppClose which is optimized to return for best
visual animation.
- Also fixes app open RTL bug.
- Next CL will use AdaptiveIcons and FolderShape reveal animator to match
the app icon to the app window.
Bug: 123900446
Bug: 123541334
Change-Id: Ief75f63fc5141c1ee59d4773946d08794846cb31