Make SwipePipToHomeAnimator a subclass of RectFSpringAnim and use the
bounds calculated from latter for auto-enter-pip transition.
Note that the landscape to portrait case may not fully comply to
RectFSpringAnim as we calculate the position separately in
SwipePipToHomeAnimator.
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/CWBPU2A6vB8CeTFRanQLx
Bug: 184789411
Test: manual, see video
Change-Id: I67dae09e682b7d8f1a1f08995eb3bcf76bdf7417
- The intent is not updated in certain cases which means that the
callback may not be made if Launcher gets recreated. Instead
have the tracker manage the set of registered callbacks.
- This change allows AbsSwipeUpHandler to continue to receive
onActivityInit calls even if Launcher restarts, and also to
handle a case where restarting while waiting for a page-settling
callback will continue to finish the gesture.
Bug: 183962705
Test: Force recreate at various points in the gesture
Change-Id: Ib5ead8c868e798e26e56776f57bd715c79d087cd
- 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
- 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
- Revert some changes from ag/14827090, we don't actually need to
screenshot when dismissing, but we do need to prevent pip
Fixes: 190751761
Test: Swiping up from YT -> PIP
Swiping up from YT to Overview to home -> PIP
Swiping up from YT to Overview
Change-Id: I2057467d5146be6edc382d3745a1e5269cd76a6b
Merged-In: I2057467d5146be6edc382d3745a1e5269cd76a6b
- Revert some changes from ag/14827090, we don't actually need to
screenshot when dismissing, but we do need to prevent pip
Bug: 190751761
Test: Swiping up from YT -> PIP
Swiping up from YT to Overview to home -> PIP
Swiping up from YT to Overview
Change-Id: I2057467d5146be6edc382d3745a1e5269cd76a6b
- When the source hint rect is too small, we can't do a nice transition
when going home (it would require scaling the surface up to fit the
rect, which conflicts spatially with the crop down to launcher
icon/pip), so in this case, just fallback to the overlay
Bug: 190464560
Test: Enter YT Pip, play video, swipe it down to miniplayer then
enter pip
Change-Id: I44b253ca440f6d2ca0eb20eef3454c5d4e3ae3e9
- Remove some deprecated calls when registering task stack listeners
Bug: 190464560
Test: Enter YT Pip, try to enter another auto-enter PIP app
Change-Id: Ib7d3a07effadb7b13f7c37f938741e27cf0e254e
- If the app supports pip, can just do the fallback workspace
home animation since the app will not be going to the icon
Bug: 190464560
Test: Open YT, swipe up, ensure it goes to the icon,
Reopen YT video, swipe up, ensure it goes into PIP without
icon animation
Change-Id: Ic22ccf17c664b9941ed944c0e39dc1f8d4efa84a
The home return animation applies a position animation to all views in
the workspace. Since the widget uses a GhostView of the original widget
to represent the foreground of the animation, that animation was
reflected in the foreground's positioning.
The CL creates an ignore list of workspace views to which an animator
should not be applied.
Bug: 190488979
Test: manual
Change-Id: I5a86165e945336693eedd253a02bda1e1eb6662d