From 3b6e45d0957d53cdbc0181345945da8e9bd9a6a5 Mon Sep 17 00:00:00 2001 From: Schneider Victor-tulias Date: Tue, 16 Apr 2024 14:55:22 -0400 Subject: [PATCH] Fix KQS first task focux when there is only one recent task Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED Fixes: 335257398 Test: TaplTestsKeyboardQuickSwitch#testLaunchSingleRecentTask Change-Id: Ibf1514394c29c33ea1dde9e3704af231e2d039f2 --- .../android/launcher3/taskbar/KeyboardQuickSwitchView.java | 5 +++-- .../android/quickstep/TaplTestsKeyboardQuickSwitch.java | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchView.java b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchView.java index 2d9e23644d..a5383f5a23 100644 --- a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchView.java +++ b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchView.java @@ -362,8 +362,9 @@ public class KeyboardQuickSwitchView extends ConstraintLayout { OPEN_OUTLINE_INTERPOLATOR)); } }); - animateFocusMove(-1, currentFocusIndexOverride == -1 - ? Math.min(mContent.getChildCount(), 1) : currentFocusIndexOverride); + animateFocusMove(-1, Math.min( + mContent.getChildCount() - 1, + currentFocusIndexOverride == -1 ? 1 : currentFocusIndexOverride)); displayedContent.setVisibility(VISIBLE); setVisibility(VISIBLE); requestFocus(); diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsKeyboardQuickSwitch.java b/quickstep/tests/src/com/android/quickstep/TaplTestsKeyboardQuickSwitch.java index 7c2d41db26..43ebb1752a 100644 --- a/quickstep/tests/src/com/android/quickstep/TaplTestsKeyboardQuickSwitch.java +++ b/quickstep/tests/src/com/android/quickstep/TaplTestsKeyboardQuickSwitch.java @@ -149,6 +149,13 @@ public class TaplTestsKeyboardQuickSwitch extends AbstractQuickStepTest { runTest(TestSurface.WIDGETS, TestCase.LAUNCH_OVERVIEW); } + @Test + public void testLaunchSingleRecentTask() { + mLauncher.getLaunchedAppState().switchToOverview().dismissAllTasks(); + startAppFast(CALCULATOR_APP_PACKAGE); + mLauncher.goHome().showQuickSwitchView().launchFocusedAppTask(CALCULATOR_APP_PACKAGE); + } + private void runTest(@NonNull TestSurface testSurface, @NonNull TestCase testCase) { for (int i = 0; i < testCase.mNumAdditionalRunningTasks; i++) { startTestActivity(3 + i);