Fix tap on navbar handle when on desktop

Tapping on navbar handle was hiding the stashed taskbar handle.
When tappin on navbar handle, it starts the recents animation. Which
gets cancelled. Normally, the fullscreen app being visible, it means
launcher activity will be paused after. But when on desktop, launcher is
visible in the background and we need to manually set it to paused
state.
When recents gesture is cancelled after navbar handle tap, the gesture
end state is null. Detect this in DesktopVisibiltyController and mark
launcher as paused in this case.

Bug: 286140120
Flag: persist.wm.debug.desktop_mode_2
Test: open an app on desktop, tap on navbar, observe that user remains
      on desktop
Change-Id: Iee915026265721d42a0b722d6b1595521f20a59a
This commit is contained in:
Ats Jenk
2023-07-28 17:33:00 -07:00
parent 06ca4d9c6e
commit 7d72bcd46e
3 changed files with 33 additions and 10 deletions
@@ -865,7 +865,7 @@ public class QuickstepLauncher extends Launcher {
if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
DesktopVisibilityController controller = mDesktopVisibilityController;
if (controller != null && controller.areFreeformTasksVisible()
&& !controller.isGestureInProgress()) {
&& !controller.isRecentsGestureInProgress()) {
// Return early to skip setting activity to appear as resumed
// TODO(b/255649902): shouldn't be needed when we have a separate launcher state
// for desktop that we can use to control other parts of launcher