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