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
This commit is contained in:
Kevin
2019-01-17 18:04:10 -08:00
parent 38e87e8010
commit 792fcc3aec
4 changed files with 41 additions and 7 deletions

View File

@@ -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.
*

View File

@@ -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.
*

View File

@@ -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<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 {