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
diff --git a/go/quickstep/src/com/android/launcher3/uioverrides/RecentsUiFactory.java b/go/quickstep/src/com/android/launcher3/uioverrides/RecentsUiFactory.java
index d0c255c..73075dc 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 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,12 +44,25 @@
* @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.
*
* @param launcher the launcher activity
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 f18f43c..0b62bee 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.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,11 +48,28 @@
* @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.
*
* @param launcher the launcher activity
diff --git a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
index ff9d601..bc9069a 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java
@@ -60,15 +60,14 @@
WindowManagerWrapper.getInstance().setShelfHeight(visible != 0, height);
public static TouchController[] createTouchControllers(Launcher launcher) {
- boolean swipeUpEnabled = OverviewInteractionState.INSTANCE.get(launcher)
- .isSwipeUpGestureEnabled();
ArrayList<TouchController> 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 {