From a1be4c1123f9a3e4d58fda5c5fe725e657c08a9e Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Tue, 24 Oct 2023 16:57:39 -0700 Subject: [PATCH] Use aconfig flag enable_split_contextual Bug: 276361926 Test: Basic split contextual operations work as expected Change-Id: I7202654f8452a0c57e5e728c9baaadf85fa22a96 --- .../taskbar/TaskbarLauncherStateController.java | 2 +- .../BaseRecentsViewStateController.java | 3 +-- .../launcher3/uioverrides/QuickstepLauncher.java | 5 ++--- .../NavBarToHomeTouchController.java | 2 +- .../quickstep/fallback/FallbackRecentsView.java | 2 +- .../quickstep/util/SplitAnimationController.kt | 2 +- .../quickstep/util/SplitSelectStateController.java | 5 ++--- .../quickstep/util/SplitToWorkspaceController.java | 4 ++-- .../quickstep/views/LauncherRecentsView.java | 4 ++-- .../com/android/quickstep/views/RecentsView.java | 14 +++++++------- .../quickstep/views/SplitInstructionsView.java | 6 +++--- src/com/android/launcher3/Launcher.java | 2 +- src/com/android/launcher3/config/FeatureFlags.java | 4 ++++ .../launcher3/touch/ItemLongClickListener.java | 5 +++-- .../launcher3/touch/WorkspaceTouchListener.java | 3 +-- 15 files changed, 32 insertions(+), 31 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java index 56ba460f65..d4f42d88f1 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java @@ -211,7 +211,7 @@ public class TaskbarLauncherStateController { } applyState(); boolean disallowLongClick = - FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get() + FeatureFlags.enableSplitContextually() ? mLauncher.isSplitSelectionEnabled() : finalState == LauncherState.OVERVIEW_SPLIT_SELECT; com.android.launcher3.taskbar.Utilities.setOverviewDragState( diff --git a/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java b/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java index d78ca88249..e2f4f322a7 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java @@ -107,8 +107,7 @@ public abstract class BaseRecentsViewStateController setter.setFloat(mRecentsView, TASK_SECONDARY_TRANSLATION, 0f, config.getInterpolator(ANIM_OVERVIEW_TRANSLATE_Y, LINEAR)); - boolean exitingOverview = !FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get() - && !toState.overviewUi; + boolean exitingOverview = !FeatureFlags.enableSplitContextually() && !toState.overviewUi; if (mRecentsView.isSplitSelectionActive() && exitingOverview) { setter.add(mRecentsView.getSplitSelectController().getSplitAnimationController() .createPlaceholderDismissAnim(mLauncher)); diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java index 4c739fa45d..009b1bd286 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java @@ -34,7 +34,6 @@ import static com.android.launcher3.LauncherState.OVERVIEW_MODAL_TASK; import static com.android.launcher3.LauncherState.OVERVIEW_SPLIT_SELECT; import static com.android.launcher3.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent; import static com.android.launcher3.config.FeatureFlags.ENABLE_HOME_TRANSITION_LISTENER; -import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_APP_LAUNCH_TAP; import static com.android.launcher3.model.data.ItemInfo.NO_MATCHING_ID; import static com.android.launcher3.popup.QuickstepSystemShortcut.getSplitSelectShortcutByPosition; @@ -644,7 +643,7 @@ public class QuickstepLauncher extends Launcher { splitSelectSource.alreadyRunningTaskId = taskWasFound ? foundTask.key.id : INVALID_TASK_ID; - if (ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) { + if (FeatureFlags.enableSplitContextually()) { startSplitToHome(splitSelectSource); } else { recentsView.initiateSplitSelect(splitSelectSource); @@ -718,7 +717,7 @@ public class QuickstepLauncher extends Launcher { super.onPause(); - if (ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) { + if (FeatureFlags.enableSplitContextually()) { // If Launcher pauses before both split apps are selected, exit split screen. if (!mSplitSelectStateController.isBothSplitAppsConfirmed() && !mSplitSelectStateController.isLaunchingFirstAppFullscreen()) { diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java index b266bcd246..f6cd30a222 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java @@ -195,7 +195,7 @@ public class NavBarToHomeTouchController implements TouchController, () -> recentsView.finishRecentsAnimation(true /* toRecents */, null)); if (mStartState.overviewUi) { new OverviewToHomeAnim(mLauncher, () -> onSwipeInteractionCompleted(mEndState), - FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get() + FeatureFlags.enableSplitContextually() ? mCancelSplitRunnable : null) .animateWithVelocity(velocity); diff --git a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java index 059b0cea25..95ce4065cc 100644 --- a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java +++ b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java @@ -254,7 +254,7 @@ public class FallbackRecentsView extends RecentsView { mSplitSelectStateController.launchSplitTasks( aBoolean1 -> { - if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) { + if (FeatureFlags.enableSplitContextually()) { mSplitSelectStateController.resetState(); } else { resetFromSplitSelectionState(); @@ -4789,7 +4789,7 @@ public abstract class RecentsView } } - if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) { + if (FeatureFlags.enableSplitContextually()) { handleSplitAnimationGoingToHome(); } mOverlayManager.hideOverlay(isStarted() && !isForceInvisible()); diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index 9c0a508915..510b9a68ba 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -379,6 +379,10 @@ public final class FeatureFlags { public static final BooleanFlag ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE = getDebugFlag( 270393453, "ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE", DISABLED, "Enable initiating split screen from workspace to workspace."); + public static boolean enableSplitContextually() { + return ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get() || + com.android.wm.shell.Flags.enableSplitContextual(); + } public static final BooleanFlag ENABLE_TRACKPAD_GESTURE = getDebugFlag(271010401, "ENABLE_TRACKPAD_GESTURE", ENABLED, "Enables trackpad gesture."); diff --git a/src/com/android/launcher3/touch/ItemLongClickListener.java b/src/com/android/launcher3/touch/ItemLongClickListener.java index a09e5a4794..0c322cc003 100644 --- a/src/com/android/launcher3/touch/ItemLongClickListener.java +++ b/src/com/android/launcher3/touch/ItemLongClickListener.java @@ -138,8 +138,9 @@ public class ItemLongClickListener { // Return early if an item is already being dragged (e.g. when long-pressing two shortcuts) if (launcher.getDragController().isDragging()) return false; // Return early if user is in the middle of selecting split-screen apps - if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get() && - launcher.isSplitSelectionEnabled()) return false; + if (FeatureFlags.enableSplitContextually() && launcher.isSplitSelectionEnabled()) { + return false; + } return true; } diff --git a/src/com/android/launcher3/touch/WorkspaceTouchListener.java b/src/com/android/launcher3/touch/WorkspaceTouchListener.java index 1232069f59..5b6c9e0763 100644 --- a/src/com/android/launcher3/touch/WorkspaceTouchListener.java +++ b/src/com/android/launcher3/touch/WorkspaceTouchListener.java @@ -206,8 +206,7 @@ public class WorkspaceTouchListener extends GestureDetector.SimpleOnGestureListe HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING); mLauncher.getStatsLogManager().logger().log(LAUNCHER_WORKSPACE_LONGPRESS); mLauncher.showDefaultOptions(mTouchDownPoint.x, mTouchDownPoint.y); - if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get() && - mLauncher.isSplitSelectionEnabled()) { + if (FeatureFlags.enableSplitContextually() && mLauncher.isSplitSelectionEnabled()) { mLauncher.dismissSplitSelection(); } } else {