Starting a new touch interaction on the nav bar while going to a new task
cancels that animation to allow for continuous scrolling.
Specifically, the new interaction still creates a new touch consumer and
WindowTransformSwipeHandler, but reuses the previous RecentsAnimationState
in order to defer finishing it.
Bug: 111926330
Change-Id: Ia4f5f8dbb2b3ae70791676f1e3e5ce84deb22f74
This moves the core animation provider logic out of
OverviewCommandHelper to a separate class to divide out the class
responsibilities a little more and make it easier to override only the
animation logic in the future.
Bug: 114136250
Test: Manual test Launcher3QuickStepGo and NexusLauncher
Change-Id: I803431f9312eb1dca1233848f63a4be1b04469ef
Go's recents will not have swipe up to overview so there is no need to
have BackgroundAppState. We also do not support quickstep so we don't
need a distinct FastOverviewState. So we stub them out here.
Bug: 114136250
Test: Manual test Launcher3QuickstepGo + NexusLauncher
Change-Id: I9223cd35fc3c64688cda16dcaa1d5f40460c9323
Change-Id: I5d6e3bfe22a505f0c77a6f7f627e9248e63ea6e0
Fixes: 123720385
Test: scroll or fling towards the previous app, it will settle on it and launch it.
- Always use the recents scale down animation when coming from BACKGROUND_APP state
- Adjust scale down animation to calculate based on translationY = 0 instead of
translationY > 0 if it is still set from a previous interaction
- Fallback to using launcher's insets in the case that a task doesn't yet have
thumbnail data (we remove the data when the task stack is invisible, so it
might not yet be restored if you swipe up again too quickly)
Bug: 111926330
Change-Id: I4bf0bf1b2fa564f0a2c27e7c053c2216856cb024
As Go will likely have very different implementation since it will be
replacing the app => overview animation, we split
LauncherActivityControllerHelper so that Go can override the class
completely.
Bug: 114136250
Test: Manul test NexusLauncher, Launcher3QuickStepGo, Launcher3IconRecents
Change-Id: Ia5554593ddafffe0f729a4658d0a37aed16d236b
On the AOSP target, there are not enough apps to make App Apps
scrollable. Moving the test to QS Tapl tests.
Change-Id: I95e196bafdbd0fee77705554890a7c3cda7ac92a
Tests: the affected test
Change-Id: I4b7c419236f3a31f882d8bf5a7f526cb7310215a
Fixes: 123601356
Test: Long swipe to all apps. Release and swipe down to home. Make sure live tile is gone.
- Add max orthogonal displacement to MotionPauseDetector to avoid
pausing when swiping left or right
- When gesture in ambiguous between swipe up for home or swipe over
for the new task, base the decision on the faster velocity component
- Disable recents freescroll mode when dispatching motion from the nav
bar. This way recents handles it naturally and we don't need custom
logic to snap to the next page at the end of the gesture.
- Fix a bug where you couldn't hook to start a new task when SWIPE_HOME
was disabled
Bug: 111926330
Change-Id: If63aa2bb32b57c3f401c5df8b3f6f4efec97b1fa
This CL moves the implementations of ActivityControlHelper from an inner
class to an upper level class in preparation to override the
implementation-specific logic for Go.
Bug: 114136250
Test: Manual test NexusLauncher, Launcher3QuickStepGo
Change-Id: Ic4b004f57cde263414c8dc57fe5c868dabc00dbe
This CL swaps out the current OverviewToAllApps touch controller with
the Go specific implementation. Moreover, since we only use this class
in landscape, we rename it to LandscapeStatesTouchController to avoid
confusion.
Bug: 114136250
Test: Manual test NexusLauncher, Launcher3QuickstepGo, Go recents
Change-Id: I6025cfe9f400705a4666fd92298a08a0c0ef7202