- A stabilization session starts when going to a new task via a quick switch
- A stabilization session ends after 5 seconds on the same task or when completing
a gesture to go to home or overview
- We track the system task order and copy it for the duration of the stabilization session
- After the session ends, we switch back to the system task order
- Remove ENABLE_TASK_STABILIZATION flag (and also QUICK_SWITCH)
Bug: 111926330
Change-Id: I2c18dff2d20ad02b73a4935ac534e9fc9f5f49c0
Implement recents activity for Go for when the default launcher does not
have recents implemented. To do this, we factor out some common recents
activity functionality from RecentsActivity and extend it to make a Go
specific activity that pops in the icon recents fragment.
Bug: 114136250
Test: Manual test NexusLauncher and Launcher3QuickstepGo by installing a
quickstep-less launcher and setting it to default
Change-Id: I936568489e8966da4a62e4b779ae660a220f2aeb
> Removing LayoutListener which was causing relayouts in the middle of
the transitions
> Fixing some logging in MultiStateCallback
> Using an overlay to draw the hole for the live tile
Bug: 124451190
Change-Id: I91351f76ec7cc2793a835f40002bfd912939d40d
- The launcher package is automatically enabled for work profiles due to
DPM interpreting it as a critical component since it does not have any
launchable activities. Once enabled, it is possible for an explicit
broadcast to update smartspace or assistant state to trigger the process
to be created for the work profile user, which ends up initializing logic
which may call into LauncherApps (which is not allowed from the work
profile).
As a workaround, we disable the launcher application immediately upon
detecting that it is running in a work profile.
Bug: 120550382
Change-Id: I72c52fe598d41440a1fb59304b494a000277384b
- 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
The launcher is in background app state while user swipes up from app before they reach Overview. In that state, translationY is set which triggers update to the live tile window that interferes with window rendering using LauncherLayoutListener.
Change-Id: I9c705a16e54dbb5d94ea97e2457e36ce28cf0e1a
Fixes: 124392764
Test: Manual
We registered a hook to call updateFinalShift() when recents view has scroll change to support scrolling recents side to side during swipe up from an app (ag/5514447). This breaks the current flow of quick switch in live tile mode where we close the LauncherLayoutListener upon quickswitch transition is finished. (Since updateFinalShift is called, we reopen LauncherLayoutListener.)
Further, live tile previously had an assumption that live tile can only go off screen on the right. Because getGlobalVisibleRect() has the limitation of only getting coordinates on the screen, our calculation to fill the missing offscreen part to transform app window does not work for the case when live tile is going off screen on the left (e.g. quick switch).
Fixes: 123915937
Test: Turn off quick switch and scrub from an app. Verify that live tile rendering is correct.
Change-Id: I5fa7e38b80309f083227240c24847f88a2c1cc28
> Creating a separate shared state class instead of storing the full TouchConsumer
> Moving all RecentsAnimationCallback on the main thread, instead of routing it through
the event queue
Bug: 124255113
Change-Id: I7891dfa4ad4a8d81152b7b36991682535fd54f46
Moving all quickstep event handling to main thread and removing
multi-thread logic.
Using system input dispatcher for handling event queue to that
velocity tracker works properly on different threads.
Bug: 123833655
Change-Id: I7c5004c32411da4144103112905ff6b40ed700ab
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