From 792fcc3aec4e085fc864541fb0396ef09bd23342 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 17 Jan 2019 18:04:10 -0800 Subject: [PATCH] Remove OverviewToAllAppsController for Go Go's recents does not support an overview to all apps transition (as there will be no hotseat and swiping will be used to navigate the view itself). As a result, we never need the controller, so we don't take in the class as a source and do not add it as a touch controller. Bug: 114136250 Test: Manual test Launcher3QuickstepGo, NexusLauncher, Launcher3IconRecentsGo Change-Id: I7fff9d1e8727bd978e84462436e37219c57f7af6 --- .../uioverrides/RecentsUiFactory.java | 17 +++++++++++++- .../OverviewToAllAppsTouchController.java | 0 .../uioverrides/RecentsUiFactory.java | 22 ++++++++++++++++++- .../launcher3/uioverrides/UiFactory.java | 9 ++++---- 4 files changed, 41 insertions(+), 7 deletions(-) rename quickstep/{ => recents_ui_overrides}/src/com/android/launcher3/uioverrides/OverviewToAllAppsTouchController.java (100%) diff --git a/go/quickstep/src/com/android/launcher3/uioverrides/RecentsUiFactory.java b/go/quickstep/src/com/android/launcher3/uioverrides/RecentsUiFactory.java index d0c255c855..73075dcab4 100644 --- a/go/quickstep/src/com/android/launcher3/uioverrides/RecentsUiFactory.java +++ b/go/quickstep/src/com/android/launcher3/uioverrides/RecentsUiFactory.java @@ -22,6 +22,8 @@ import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY; import android.view.View; +import androidx.annotation.Nullable; + import com.android.launcher3.Launcher; import com.android.launcher3.LauncherStateManager.StateHandler; import com.android.launcher3.util.TouchController; @@ -42,11 +44,24 @@ public final class RecentsUiFactory { * @param launcher the launcher activity * @return the touch controller for recents tasks */ - public static TouchController createTaskSwipeController(Launcher launcher) { + public static @Nullable TouchController createTaskSwipeController(Launcher launcher) { // We leave all input handling to the view itself. return null; } + /** + * Creates and returns a touch controller for swiping from overview state to the all apps state + * if such an action is supported. + * + * @param launcher the launcher activity + * @return the touch controller for swiping from overview to all apps + */ + public static @Nullable TouchController createOverviewToAllAppsTouchController( + Launcher launcher) { + // Go does not support overview to all apps transition. + return null; + } + /** * Creates and returns the controller responsible for recents view state transitions. * diff --git a/quickstep/src/com/android/launcher3/uioverrides/OverviewToAllAppsTouchController.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/OverviewToAllAppsTouchController.java similarity index 100% rename from quickstep/src/com/android/launcher3/uioverrides/OverviewToAllAppsTouchController.java rename to quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/OverviewToAllAppsTouchController.java diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/RecentsUiFactory.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/RecentsUiFactory.java index f18f43c4c4..0b62beed10 100644 --- a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/RecentsUiFactory.java +++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/RecentsUiFactory.java @@ -22,11 +22,14 @@ import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY; import static com.android.launcher3.LauncherState.NORMAL; import static com.android.launcher3.LauncherState.OVERVIEW; +import androidx.annotation.Nullable; + import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.LauncherStateManager.StateHandler; import com.android.launcher3.anim.AnimatorPlaybackController; import com.android.launcher3.util.TouchController; +import com.android.quickstep.OverviewInteractionState; import com.android.quickstep.views.RecentsView; /** @@ -45,10 +48,27 @@ public final class RecentsUiFactory { * @param launcher the launcher activity * @return the touch controller for recents tasks */ - public static TouchController createTaskSwipeController(Launcher launcher) { + public static @Nullable TouchController createTaskSwipeController(Launcher launcher) { return new LauncherTaskViewController(launcher); } + /** + * Creates and returns a touch controller for swiping from overview state to the all apps state + * if such an action is supported. + * + * @param launcher the launcher activity + * @return the touch controller for swiping from overview to all apps + */ + public static @Nullable TouchController createOverviewToAllAppsTouchController( + Launcher launcher) { + boolean swipeUpEnabled = OverviewInteractionState.INSTANCE.get(launcher) + .isSwipeUpGestureEnabled(); + if (!swipeUpEnabled || launcher.getDeviceProfile().isVerticalBarLayout()) { + return new OverviewToAllAppsTouchController(launcher); + } + return null; + } + /** * Creates and returns the controller responsible for recents view state transitions. * diff --git a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java index ff9d601efd..bc9069a9ad 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java +++ b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java @@ -60,15 +60,14 @@ public class UiFactory { WindowManagerWrapper.getInstance().setShelfHeight(visible != 0, height); public static TouchController[] createTouchControllers(Launcher launcher) { - boolean swipeUpEnabled = OverviewInteractionState.INSTANCE.get(launcher) - .isSwipeUpGestureEnabled(); ArrayList list = new ArrayList<>(); list.add(launcher.getDragController()); - if (!swipeUpEnabled || launcher.getDeviceProfile().isVerticalBarLayout()) { - list.add(new OverviewToAllAppsTouchController(launcher)); + TouchController overviewToAllAppsController = + RecentsUiFactory.createOverviewToAllAppsTouchController(launcher); + if (overviewToAllAppsController != null) { + list.add(overviewToAllAppsController); } - if (launcher.getDeviceProfile().isVerticalBarLayout()) { list.add(new LandscapeEdgeSwipeController(launcher)); } else {