Previously we only let the icons take up the max width if the
device was in vertical bar layout. For tablets this meant
that the icons would be smaller than the actual window crop.
We want the full width in any cases where the profile width
is greater than the height, so created a new method to check for that.
Bug: 203157974
Test: phone/tablet in portrait/landscape
Change-Id: I467f142bac87ec7c3b369c01f8d9c96ddf74fc76
This properly hides just the icon/dot and leaves the
text for All Apps views during the app launch/exit animation.
Bug: 213306709
Test: open/close apps on workspace, open/swipe back apps in all apps
Change-Id: I327ce3e41298e50e34b8809491fc6d97a89f9f96
Fixes bug where animations uses themed icons in All Apps, where the
icons are not themed.
We want the DragView themed since all valid drop locations will have it
appear themed.
Bug: 215650713
Test: open/close an app from All Apps
Change-Id: I9969ce4921831dd12858ed9b0fe64379e9e3b188
& Make sure properties are reset when recycled.
This fixes the bug that causes BubbleTextView drawable not to get set.
Bug: 207389002
Test: locally disable loading AdaptiveIcons, ensure BubbleTextView
drawable always gets drawn for closing animation
Change-Id: Ifdbf3e733e27918c57a5e9b23e5a11b65f8f338c
Has been enabled for past few releases, no longer needed
as a debug flag.
Bug: 209856611
Test: manual
Change-Id: Id25e36522636e5c5d8ee60cdec49b3ee3f4d4251
- We already display the BubbleTextView icon during app close
since we need the shadows to ensure a clean handoff.
- Previously, we waited until the icon and the AdaptiveIcon were
both loaded to show the FloatingIconView.
- This change immediately shows the BubbleTextView icon so that
we can have something displayed in the cases where AdaptiveIcon
is slow to load (ie. immediately after killing/restarting launcher).
Currently there are cases where we defer some BubbleTextView drawing to
ClipIconView. We can refactor in master so that ClipIconView is only used
when drawable is an AdaptiveIcon.
Bug: 207389002
Test: manual
Change-Id: Ie54642fef4258862a155ab0aba6e49cea9c9ead0
- Prediction row views were never updated when notification changes.
- FloatingIconView set the BubbleTextView to force hide dot, but never restored it.
BubbleTextView is instanceof IconLabelDotView, so its already handled in the end runnable
Bug: 183360736
Test: 1. swipe up to go home such that the closing app has a notification,
note that the notification dot is properly updated
2. have all apps open
make notification update for a predicted app
ensure dot is properly updated
Change-Id: I35dacf9b71a3d8b8a857be450690d65ea9199bf6
- Delay app launch animations by a frame, and skip logic to skip the first frame.
- Note the icon pressed state animation still occurs, so there is still some
visual feedback for the user that something is happening.
Bug: 181901105
Test: ensure animation still looks smooth (using window animation scale & record in slow mo)
Change-Id: Ia904b8b96301042c900e0589f33fc625c1c1148b
Merged-In: Ia904b8b96301042c900e0589f33fc625c1c1148b
- Added support for widgets for the new close animation.
- This anim is used with the new app close.
- This anim is not compataible with the old app close, so we need to
keep StaggeredWorkspaceAnim in case we turn the app close flag off.
- We will also use this anim in the lockscreen to launcher anim, will
connect them in a follow up CL.
Bug: 188413065
Bug: 173107751
Test: manual
Change-Id: Icab3fd700f2c268bb1c4509a37466e4e6748f789
have its own set of temp variables.
- Pass in float[] param to not create new obj in each frame
for dragging widget case.
Bug: 175329686
Bug: 187019711
Test: manual, verify
Change-Id: I4350fb7e66a80c73def5659fb41abc14d357e667
This reverts commit 17fda29bf3.
Reason for revert: Fixing the memory leak
Leak was detected in caused launcher tapl tests to fail.
For instructions on how to debug leaks, see go/launcher-testing.
Using AS memory profiler, the color extractor class is holding
onto a reference to launcher that has already been destroyed.
The fix is to set the listener to null when view is closed.
Bug: 175329686
Test: run profiler in AS, open and close popups, and verify no leaks
Change-Id: I2d4a87f0481cbc88f3587dce91278e85ca113545
This reverts commit 242c805f82.
Reason for revert: Introduces a leak. I haven't seen a bug for it yet, but this CL is the only in the culprit list; the leak can block multiple teams presubmits, and the leak is via ArrowPopup. Enough evidence.
https://fusion2.corp.google.com/invocations/4b50db71-d598-4e52-9076-e91d42b65014/targets
Change-Id: I1700a9eea8705983598aee43c0a63e67c1d9cf71
Bug: 187075409
- Updated logic to accept any view that is a a child of draglayer
(from being workspace dependent)
- Move color extraction logic from widget class to utility class.
- Initial CL, future CL will interpolate between colors
and expand color extraction to other abstract floating views.
Bug: 175329686
Test: long press on colorful wallpaper and test colors are extracted
test in multiwindow mode
Change-Id: I18a6bb5013de4eea7e9b45810401f5b9b3cd7302
- We remove the fling completely
- We set damping to 1 for x/y springs so there is no
bounciness, and updated the stiffness and bounds to tighten
up the path to the final location.
- During the animation, we translate all launcher content
down
- When the x/y springs, and rect animator all finish,
we use a spring to bounce the launcher content back up
- Added AppCloseConfig so that the entire animation can
be defined in one location, with getter methods so that
all the involved parties of the animation can access the
current value.
- The animations are all defined linearly, and then
interpolated over using a 3 point curve.
Building behind feature flag as we tune the values.
Bug: 173107751
Test: manual, visual
Change-Id: I83ad0fa2c4234cf30004240d43e191354595adc8
Swiping up to go home on an app that is downloading incrementally would cause a jittery animation. Updated FloatingIconView to animate directly to a PreloadIconDrawable.
Demo: https://drive.google.com/file/d/1ddr8OGR4c1ZneyQ0VkkAAxGpwNcP8Wyn/view?usp=sharing
Fixes: 177685929
Test: manual
Change-Id: I4cd2daa18f6d3fed42a9b666063e0b1c1c46e5d9
(cherry picked from commit b8cab8d878)
The BubbleTextView drawable has built in shadows.
Prior to this, we waited for the FloatingIconView to finish
animating into place before fading in the BubbleTextView behind it.
We did this to prevent the shadow from blinking in.
Now that we've refactored FloatingIconView & ClipIconView,
we draw the BubbleTextView behind the ClipIconView so that the shadow is
revealed when the icon finishes clipping to its final shape and it
no longer has to be faded in.
Bug: 168608912
Change-Id: Ic0809f74ecbbec2f6e7caf7eca2fb560a8a02dec
When user swipes up to home, Launcher will receive a onNewIntent
callwith a bundle-extra gesture_nav_contract_v1. It will contain
the componentName & UserHandle of the closing app & a callback.
Launcher can use the callback to return the final position where
the app should animate to and an optional surface to be used for
crossFade animation. The surface cleanup can be handled in
onEnterAnimationComplete.
Change-Id: I76fdd810fdcb80b71f7d7588ccac8976d9dfe278
> Using a separate View as icon, instead of the taskView
> Updating swipe animation logic to abstract out FloatingIconView dependency
Change-Id: Ib466262afead11ebe4ca035d589f0382c37e3e97
When we refactored ClipIconView, we never init mIsVerticalBarLayout.
Instead we pass it in along with the rest of the info from FloatingIconView.
Bug: 155039118
Change-Id: Iff93105c512a8e6478dc49d8ab9100fd129af48c
Launcher home screen rotation now works with fixed
transform. When using Quickstep while holding
the phone from an orientation different than
the orientation of the touch, the overview
shown will be that of the phone orientation,
not the touch orientation.
Easier to see this be quickswitching from
portrait to landscape app, turning phone, then
going to overview from the original region you
swiped.
Fixes: 150214193
Test: Created test apps and fixed them
to various rotations to test.
Change-Id: Ic6565cd0ed33c951f45ccb97278045c6070e438e
Create new ClipIconView so that the adaptive icon foreground/background can
get clipped properly, and the badge gets drawn separately on top of it.
Bug: 142105172
Change-Id: Ie5d65c20f845d9219fd01daa383f273dde0e096c
Addresses:
=> Fix folder icon drop location mapping (was very far off)
=> Fix BubbleTextView drop animation shifted by a few pixels
=> Get rid multiple unnecessary calls to setDragMode(none), was breaking
some of the reorder flow; still some issues to address here.
=> Fix folder icon parallax (didn't work when the folder had a dot)
Test: manual
Change-Id: I5959cf341996f75d30212353ec096ed25bf40ea5
- The bug is caused by cancelling of the RectFSpringAnim before the
StaggeredWorkspaceAnim has started.
- Instead of having logic in StaggeredWorkspaceAnim control the visibility
of the icon, we instead maintain all the visibility within the
FloatingIconView class itself.
Bug: 142120338
Change-Id: I082291ca9b288f57701cc00d61a9b3a84da8b084
This prevents the case where original icon is in hidden state, then the
view gets recycled and since there is no listener/end runnable the original
icon is left in the hidden state.
Bug: 142120338
Change-Id: I5f5bfa2a7c70d10869f51edf5c40bbaab1ef93bc
- For app open, the icon text remains where it is and only the icon moves.
- Similarly for app close, the icon text remains where it is and fades in
with the rest of the other icons text.
- With this change, the original view is always "VISIBLE"
(if BubbleTextView/FolderIcon) but we hide certain elements.
Added video to bug.
Bug: 137200188
Bug: 139885365
Change-Id: I3d20c5f05bc7c0b9d052d8074ac3bfc21531c83d
Merged-In: I3d20c5f05bc7c0b9d052d8074ac3bfc21531c83d
- Add a signal for the animation to be "cancelled"
- Allow the workspace view to be attached to a spring during the animatoin
(but kept hidden) to prevent any jumpy movement
Bug: 137215697
Change-Id: Ie6868a7f45fefaee5366c8d30bb323fe042e9156