The TaskInputController class doesn't need to be tightly coupled with
the actual input method, so we should rename it and the methods to
correspond to the actual logic. For example, both tapping a task and
pressing the overview button on recents should launch a task and should
both use this logic.
Bug: 114136250
Test: Launch tasks, clear tasks, clear all
Change-Id: If4f7f1d6ee9b05ffaf65cb13df633679cc8efcbe
Add a button to clear all tasks to the recents Go layout and hook it up
to the model.
Bug: 114136250
Test: Open recents, hit clear all
Change-Id: Id67310ce88053528d372e4dc21e2b011ed957646
We use the basic clip reveal animation to animate from the task
thumbnail view to the opening app.
Bug: 114136250
Test: Tap task from recents
Change-Id: Id582385fc022c75ee322beebdc6cf7a0f209e720
* changes:
Remove redundant resumeLastTaskForQuickstep() and use resumeLastTask() directly
Fix some state issues with home and quick switch gestures
Apply spring forces to animate to the final position for swipe home
Now that we don't have quick scrub, the only state that has a non-zero translation is all apps,
which just uses that to have a slight parallax. This is much simpler to define in terms of pixels
like other states do.
Change-Id: I108c8505d85591399256b3475f7566ff51e2c5ad
We only send onAnimationEnd() if both object animator and spring animator have
ended. However, we also initialized mSpringEnded = false to begin with, which
meant we would never send onAnimationEnd() if the spring animator was never
started. Now we treat the animators as ended until they are started.
Example test:
0: Enable SWIPE_HOME and QUICKSTEP_SPRINGS flags
1: Swipe up and hold on home to go to overview
2: Tap outside overview to go home
3. Swipe up to all apps
4. Swipe down
Expected: animates to home, not overview. Before this change, however, it went
to overview because the state manager never got onAnimationEnd() and therefore
never set the last stable state to NORMAL instead of OVERVIEW.
Change-Id: I7add42eedbc15b3a6a08ac69570da4edd57b5417
For multi-client IME, launcher need to call hideSoftInputFromWindow() by
using the InputMethodManager instance that mapped the presented display
while its home button get pressed.
Launcher 3 has already handled this part, but the secondary launcher
has not yet.
Bug: 120114697
Test: Manual verified that multi-client IME can be closed correctly.
Change-Id: I8959c3a470580452bfb95dbd4b4ce9268589000f
Also remove STATE_SCALED_CONTROLLER_LAST_TASK, which is redundant with
STATE_RESUME_LAST_TASK. Basically this removes a path of unnecessary
indirection now that everything is on the UI thread.
Change-Id: If11fea2d6064ba909a439b9b88d7c80fb1ad9d73
Handle the fact that LAUNCHER_STARTED can come 25ms+ later than LAUNCHER_PRESENT
- Don't call prepareRecentsUi() if we already completed the gesture to go home
- Previously it was possible to get LAUNCHER_PRESENT -> GESTURE_STARTED ->
GESTURE_COMPLETED -> LAUNCHER_STARTED. Because we go to BACKGROUND_APP state in
LAUNCHER_STARTED, this sequence ended up there instead of home (b/124338231)
- Call setupRecentsViewUi() in LAUNCHER_PRESENT instead of LAUNCHER_START
- Because setupRecentsViewUi() sets RecentsView to show the running task, it was
interferring with quick switches that had the state sequence above
Other quick switch fixes
- Set canBeContinued = true for LAST_TASK gesture target. This handles cases like:
switch from task 0 to task 1, intercept and go back to 0 (LAST_TASK), intercept
again to go to 1
- Ignore deferred touch down target if we're continuing the previous gesture
- Set STATE_HANDLER_INVALIDATED as soon as we start finishing recents animation
instead of waiting until the new task is launched. This is what we do when
re-launching the last task, and it allows us to start a new gesture sooner.
One race condition still exists with consecutive quick switches: if you switch to
a new task, the next gesture might get stuck if it starts after finishing the
recents animation but before the task is fully launched/launcher is stopped.
Bug: 124338231
Bug: 111926330
Change-Id: Ia7e1eebe6e81e2f10bb42a10b2f46fd720da0dc1
This CL adds the first iteration of window animation to go from
the app back to recents provided that the view is ready to be
visible to the user.
Bug: 114136250
Test: Go to recents, launch app, press overview to go back to recents
Change-Id: Ic0567e7c87fa964bdad25d07eca61b78407a9ff5
The corners will be separated with quick switch by detecting at the slop
of the angle from touch down to that position. If over 30 deg then
assistant will be tracked otherwise quick switch while swipe up will not
be tracked at all.
Test: manual
Bug: 112934365
Change-Id: I6a3aeb1509d9706696a30ef1fba3ce7e3e5ec07c
Now instead of an incorrect hack that simulated accelerating to the target,
we actually apply spring forces to make it feel realistic and work no matter
where the target is.
Added two helper classes for this:
- FlingSpringAnim handles the fling, applying friction until reaching the target,
then a spring to pull towards the final position (also applies if fling wasn't
in the right direction or strong enough to reach the target).
- RectFSpringAnim uses 2 FlingSpringAnims (x + y) to animate from a starting rect
to a target rect. It also has an animation to scale from the start rect to the
target rect, sending progress update callbacks to the caller.
Bug: 123900446
Change-Id: Iafa89db1d55c42816acfa9f1bb84a7519b69ff12
Add an interface for recents to activity logic that can be set on the Go
recents view. This CL includes a method for the logic that should occur
when leaving recents due to having no tasks remaining.
As the view has no knowledge of the containing activity (could be
Launcher or could be a separate activity), this interface must be set
externally.
Bug: 114136250
Test: Remove all tasks, see that it goes to home when l3goIconRecents is
the default launcher
Change-Id: I110abab49c22e245b98a1f9b91b0b0f052886098
Change directory of framework intermediates prebuilts based off recent
change in location.
Test: Build from IDE
Change-Id: Icda11ca1526a12cc72be65052c5b1ce8c342c059
Also moving test provider to Quickstep to have access to the new info;
and now Launcher3 doesn't have it.
Bug: 123904290
Change-Id: I653376610e83839d102beb9c0604950dd314e8ba