Loading quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java +0 −6 Original line number Diff line number Diff line Loading @@ -62,12 +62,6 @@ public class OverviewModalTaskState extends OverviewState { @Override public void onBackPressed(Launcher launcher) { launcher.getStateManager().goToState(LauncherState.OVERVIEW); RecentsView recentsView = launcher.<RecentsView>getOverviewPanel(); if (recentsView != null) { recentsView.resetModalVisuals(); } else { super.onBackPressed(launcher); } } @Override Loading quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java +2 −1 Original line number Diff line number Diff line Loading @@ -217,7 +217,6 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta } else { if (mActivity.isInState(RecentsState.MODAL_TASK)) { mActivity.getStateManager().goToState(DEFAULT, animate); resetModalVisuals(); } } } Loading @@ -237,6 +236,8 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta setOverviewFullscreenEnabled(toState.isFullScreen()); if (toState == MODAL_TASK) { setOverviewSelectEnabled(true); } else { resetModalVisuals(); } // Set border after select mode changes to avoid showing border during state transition Loading quickstep/src/com/android/quickstep/views/LauncherRecentsView.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.quickstep.views; import static android.app.ActivityTaskManager.INVALID_TASK_ID; import static com.android.launcher3.LauncherState.ALL_APPS; import static com.android.launcher3.LauncherState.CLEAR_ALL_BUTTON; import static com.android.launcher3.LauncherState.EDIT_MODE; Loading Loading @@ -144,6 +145,8 @@ public class LauncherRecentsView extends RecentsView<QuickstepLauncher, Launcher setOverviewFullscreenEnabled(toState.getOverviewFullscreenProgress() == 1); if (toState == OVERVIEW_MODAL_TASK) { setOverviewSelectEnabled(true); } else { resetModalVisuals(); } // Set border after select mode changes to avoid showing border during state transition Loading Loading @@ -214,7 +217,6 @@ public class LauncherRecentsView extends RecentsView<QuickstepLauncher, Launcher } else { if (mActivity.isInState(LauncherState.OVERVIEW_MODAL_TASK)) { mActivity.getStateManager().goToState(LauncherState.OVERVIEW, animate); resetModalVisuals(); } } } Loading quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java +38 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import com.android.launcher3.tapl.LauncherInstrumentation.NavigationModel; import com.android.launcher3.tapl.Overview; import com.android.launcher3.tapl.OverviewActions; import com.android.launcher3.tapl.OverviewTask; import com.android.launcher3.tapl.SelectModeButtons; import com.android.launcher3.ui.AbstractLauncherUiTest; import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape; import com.android.launcher3.util.Wait; Loading Loading @@ -194,6 +195,43 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { actionsView.clickAndDismissScreenshot(); } @Test public void testDismissOverviewWithEscKey() throws Exception { startTestAppsWithCheck(); final Overview overview = mLauncher.goHome().switchToOverview(); assertTrue("Launcher internal state is not Overview", isInState(() -> LauncherState.OVERVIEW)); overview.dismissByEscKey(); assertTrue("Launcher internal state is not Home", isInState(() -> LauncherState.NORMAL)); } @Test public void testDismissModalTaskAndOverviewWithEscKey() throws Exception { startTestAppsWithCheck(); final Overview overview = mLauncher.goHome().switchToOverview(); final SelectModeButtons selectModeButtons; if (mLauncher.isTablet() && mLauncher.isGridOnlyOverviewEnabled()) { selectModeButtons = overview.getCurrentTask().tapMenu().tapSelectMenuItem(); } else { selectModeButtons = overview.getOverviewActions().clickSelect(); } assertTrue("Launcher internal state is not Overview Modal Task", isInState(() -> LauncherState.OVERVIEW_MODAL_TASK)); selectModeButtons.dismissByEscKey(); assertTrue("Launcher internal state is not Overview", isInState(() -> LauncherState.OVERVIEW)); overview.dismissByEscKey(); assertTrue("Launcher internal state is not Home", isInState(() -> LauncherState.NORMAL)); } private int getCurrentOverviewPage(Launcher launcher) { return launcher.<RecentsView>getOverviewPanel().getCurrentPage(); } Loading src/com/android/launcher3/util/KeyboardShortcutsDelegate.java +12 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.launcher3.util; import static com.android.launcher3.LauncherState.ALL_APPS; import static com.android.launcher3.LauncherState.NORMAL; import static com.android.launcher3.LauncherState.OVERVIEW; import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.getSupportedActions; import android.util.Log; Loading @@ -27,6 +28,7 @@ import android.view.Menu; import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.accessibility.BaseAccessibilityDelegate; Loading Loading @@ -118,17 +120,22 @@ public class KeyboardShortcutsDelegate { return true; } else if (mLauncher.getAppsView().isInAllApps()) { // Close all apps if there are no open floating views. closeAllApps(); mLauncher.getStateManager().goToState(NORMAL, true); return true; } else if (mLauncher.isInState(LauncherState.OVERVIEW) || mLauncher.isInState(LauncherState.OVERVIEW_SPLIT_SELECT)) { // Close Overview and return to home. mLauncher.getStateManager().goToState(NORMAL, true); return true; } else if (mLauncher.isInState(LauncherState.OVERVIEW_MODAL_TASK)) { // Return to the previous state (Overview) when the modal task is open. mLauncher.getStateManager().goToState(OVERVIEW, true); return true; } } return null; } private void closeAllApps() { mLauncher.getStateManager().goToState(NORMAL, true); } /** * Handle key up event. * @param keyCode code of the key being pressed. Loading Loading
quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java +0 −6 Original line number Diff line number Diff line Loading @@ -62,12 +62,6 @@ public class OverviewModalTaskState extends OverviewState { @Override public void onBackPressed(Launcher launcher) { launcher.getStateManager().goToState(LauncherState.OVERVIEW); RecentsView recentsView = launcher.<RecentsView>getOverviewPanel(); if (recentsView != null) { recentsView.resetModalVisuals(); } else { super.onBackPressed(launcher); } } @Override Loading
quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java +2 −1 Original line number Diff line number Diff line Loading @@ -217,7 +217,6 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta } else { if (mActivity.isInState(RecentsState.MODAL_TASK)) { mActivity.getStateManager().goToState(DEFAULT, animate); resetModalVisuals(); } } } Loading @@ -237,6 +236,8 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta setOverviewFullscreenEnabled(toState.isFullScreen()); if (toState == MODAL_TASK) { setOverviewSelectEnabled(true); } else { resetModalVisuals(); } // Set border after select mode changes to avoid showing border during state transition Loading
quickstep/src/com/android/quickstep/views/LauncherRecentsView.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.quickstep.views; import static android.app.ActivityTaskManager.INVALID_TASK_ID; import static com.android.launcher3.LauncherState.ALL_APPS; import static com.android.launcher3.LauncherState.CLEAR_ALL_BUTTON; import static com.android.launcher3.LauncherState.EDIT_MODE; Loading Loading @@ -144,6 +145,8 @@ public class LauncherRecentsView extends RecentsView<QuickstepLauncher, Launcher setOverviewFullscreenEnabled(toState.getOverviewFullscreenProgress() == 1); if (toState == OVERVIEW_MODAL_TASK) { setOverviewSelectEnabled(true); } else { resetModalVisuals(); } // Set border after select mode changes to avoid showing border during state transition Loading Loading @@ -214,7 +217,6 @@ public class LauncherRecentsView extends RecentsView<QuickstepLauncher, Launcher } else { if (mActivity.isInState(LauncherState.OVERVIEW_MODAL_TASK)) { mActivity.getStateManager().goToState(LauncherState.OVERVIEW, animate); resetModalVisuals(); } } } Loading
quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java +38 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import com.android.launcher3.tapl.LauncherInstrumentation.NavigationModel; import com.android.launcher3.tapl.Overview; import com.android.launcher3.tapl.OverviewActions; import com.android.launcher3.tapl.OverviewTask; import com.android.launcher3.tapl.SelectModeButtons; import com.android.launcher3.ui.AbstractLauncherUiTest; import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape; import com.android.launcher3.util.Wait; Loading Loading @@ -194,6 +195,43 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { actionsView.clickAndDismissScreenshot(); } @Test public void testDismissOverviewWithEscKey() throws Exception { startTestAppsWithCheck(); final Overview overview = mLauncher.goHome().switchToOverview(); assertTrue("Launcher internal state is not Overview", isInState(() -> LauncherState.OVERVIEW)); overview.dismissByEscKey(); assertTrue("Launcher internal state is not Home", isInState(() -> LauncherState.NORMAL)); } @Test public void testDismissModalTaskAndOverviewWithEscKey() throws Exception { startTestAppsWithCheck(); final Overview overview = mLauncher.goHome().switchToOverview(); final SelectModeButtons selectModeButtons; if (mLauncher.isTablet() && mLauncher.isGridOnlyOverviewEnabled()) { selectModeButtons = overview.getCurrentTask().tapMenu().tapSelectMenuItem(); } else { selectModeButtons = overview.getOverviewActions().clickSelect(); } assertTrue("Launcher internal state is not Overview Modal Task", isInState(() -> LauncherState.OVERVIEW_MODAL_TASK)); selectModeButtons.dismissByEscKey(); assertTrue("Launcher internal state is not Overview", isInState(() -> LauncherState.OVERVIEW)); overview.dismissByEscKey(); assertTrue("Launcher internal state is not Home", isInState(() -> LauncherState.NORMAL)); } private int getCurrentOverviewPage(Launcher launcher) { return launcher.<RecentsView>getOverviewPanel().getCurrentPage(); } Loading
src/com/android/launcher3/util/KeyboardShortcutsDelegate.java +12 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.launcher3.util; import static com.android.launcher3.LauncherState.ALL_APPS; import static com.android.launcher3.LauncherState.NORMAL; import static com.android.launcher3.LauncherState.OVERVIEW; import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.getSupportedActions; import android.util.Log; Loading @@ -27,6 +28,7 @@ import android.view.Menu; import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.accessibility.BaseAccessibilityDelegate; Loading Loading @@ -118,17 +120,22 @@ public class KeyboardShortcutsDelegate { return true; } else if (mLauncher.getAppsView().isInAllApps()) { // Close all apps if there are no open floating views. closeAllApps(); mLauncher.getStateManager().goToState(NORMAL, true); return true; } else if (mLauncher.isInState(LauncherState.OVERVIEW) || mLauncher.isInState(LauncherState.OVERVIEW_SPLIT_SELECT)) { // Close Overview and return to home. mLauncher.getStateManager().goToState(NORMAL, true); return true; } else if (mLauncher.isInState(LauncherState.OVERVIEW_MODAL_TASK)) { // Return to the previous state (Overview) when the modal task is open. mLauncher.getStateManager().goToState(OVERVIEW, true); return true; } } return null; } private void closeAllApps() { mLauncher.getStateManager().goToState(NORMAL, true); } /** * Handle key up event. * @param keyCode code of the key being pressed. Loading