To reduce the jank when swiping-up the overview which is not
ready yet, we restart the overview activity if the process
was died and update its configuration if there is change.
Bug: 127350205
Test: manual - Enable 2-button or gesture navigation.
Swipe-up overview after:
Case 1: Other app is in foreground and kill the process
of launcher.
Case 2: Change configuration, e.g. font size, language.
Change-Id: Ia6e365cc0faf3765781484d040bdddd4e10a2650
> Hiding arrow in background state and during quick switch
> Preventing arrow overlapping with search box in overview state
Bug: 135885458
Change-Id: Iadefba044717351d69480cde7d784cd04289d086
- Defer starting the activity when an activity is paused, and finish
the current animation to trigger launcher to be resumed
Bug: 132811175
Test: Swipe up and launch a new app
Change-Id: I78b76800052512eb93f69ccf0523f4d752a82ece
- Always return a copy of the task list to ensure that the model doesn't
hold refs to the thumbnail data if it was loaded into the same task
- Always clear the task thumbnail data ref once the visibility of the
task view changes to be invisible
Bug: 132309376
Test: Enter overview scroll to the end of the list, relaunch app and take
heap dump
Change-Id: I4437fd30172a5fe2a78c111f780163a1e6bbbb54
In case of 3P launcher, swipe-up will go to Launcher and there will be
no way to reach overview.
Bug: 135769778
Change-Id: Ib2c6bb1b13e6055d30b7360ec077b0a2fece66ff
- In TaskThumbnailView.updateThumbnailMatrix() we compare the rounded
scaled bitmap height with the height of the task/thumbnail view.
Since the position is also non-integer, the rounding of the sum
is not equivalent to the rounding of the individual components, which
causes the check to fail.
Bug: 135150767
Test: Quickswitch on sargo
Change-Id: I849b4732569e5b8699f00f5ff210f41fb505f1e7
- Peek in overview further, and with more overshoot
- Fade out and scale down workspace faster while swiping up
- Scale and translate workspace slower when letting go to enter
overview (so it doesn't zoom out at warp speed)
- Fade in all apps shelf sooner
Bug: 132455160
Change-Id: Ieafad0ccf9bb587889bc35d536627661db10e358
While removing unused files in Go version of quickstep, I removed
QuickstepProcessInitializer which seemed unused but is actually
initialized as a resource based ovverride. This CL puts it back as
common src so that both Launcher3GoIconRecents and the rest of the
variants all use this class.
Bug: 135472635
Test: Run Launcher3GoIconRecents => no exception
Test: Run Launcher3 => no exception
Change-Id: I56f319bac536ec4da96285fab932fe574afa4520
When quick switching from home or overview, go to OverviewState if the
task launch failed. Otherwise we get stuck in BackgroundAppState.
Bug: 135038270
Change-Id: I42785c261cef0df95666bc106ec5ca6ef0553cc7
When attaching recents, translate it offscreen and use a spring to pull it
into position. When detaching, use the same spring to pull it back offscreen.
Bug: 129985827
Change-Id: I05339e2ec0932070365023bfafc83cbf2a4e178e
When ending in recents, we reapply the state - therefore, it's important
to make sure we are in OverviewState before onSwipeUpComplete(). This is
done by mLauncherTransitionController, which sets OverviewState on end.
We already force mLauncherTransitionController to end before calling
onSwipeUpComplete(), but in this case we were calling cancel() and
setting mLauncherTransitionController = null, which meant we could never
call end() on it. Instead, we should always call end() if we set it to
null.
Also ensure mLauncherTransitionController is created even if the gesture
is completed, if an existing controller isn't already running. This can
happen if you swipe up quickly enough that we get onGestureEnd before
launcher is drawn, and in that case we still want the launcher component
to animate once its ready. This is even more important for 2-button
mode, because again, we rely on mLauncherTransitionController to set the
state to OverviewState before we reapply it.
Finally, clarified some methods by renaming "swipeUp" to
"swipeUpToRecents".
Bug: 132757019
Change-Id: Ieb24a4f36a39780e5d64d7bc312791608db474d1
* Mostly value changes.
* Added a way to round the corners during swipe up to home animation.
Bug: 123900446
Change-Id: Id61d241d919ba51ced0633585e36b7d93efe30b0
- Previously, we clamped the progress to 1 when reaching mTransitionDragLength.
Now, we allow dragging all the way to the top of the screen, and store this
new top progress in mDragLengthFactor (> 1f).
- Because the launcher animation controller is inherently bound to a progress
between 0 and 1, we have to do a bit of trickery involving interpolators.
Specifically, we normalize the progress to 0 to 1 by dividing by
mDragLengthFactor, but then we set the interpolators to multiply their
progress by mDragLengthFactor. The result is that the animation progress
appears to go from 0 to mDragLengthFactor, just like the window progress.
- To avoid scaling too small, we start interpolating the progress at a certain
point, ending at a specified max progress when reaching the top of the screen.
Bug: 131741395
Change-Id: Ie8b4b56d37249cd1456f93c110c26c78fe052dc0
This eliminates an unreliable timeout.
Also removing an unnecessary check for harness that is done by the
called method.
Change-Id: If954580060415cbb2952532c16ea0ae4dc7b9469
- If screen pinning is enabled, disable gestures and wrap with input
consumer to break out of screen pinning (existing logic)
- If Home & Overview are both disabled, disable gestures completely
- If only Home is disabled, then always launch the user into fallback
recents (to simplify logic around breaking out of overview into Home)
- If only Overview is disabled, then prevent swiping from going into
overview or from triggering overview from home
- Switch to using screen pinning flag check instead of binder call
Bug: 133113732
Bug: 131698989
Change-Id: Ie6f447520d4cc3fa1eaaf8427ee014851688bf37
We had a resolved case in the past where an app's context menu didn't
open on a long click (thanks to app updates), now the menu opens, but
the drag gesture doesn't drag the icon.
Bug: 133009122
Change-Id: I45d104a92fab6556ecd937aef76f0a8147e67f56