From c21905eb758343b7d670d89628bc082ee7cf892e Mon Sep 17 00:00:00 2001 From: Will Osborn Date: Fri, 25 Apr 2025 17:28:35 +0000 Subject: [PATCH] Refactor OverviewOnConnectedDisplays flag and switch from DesktopModeFlags to DesktopExperienceFlags Bug: 413609179 Flag: EXEMPT refactor Test: local + presubmit Change-Id: I3b57e501bbf62400a9977ddcd2503be73f835b5a --- .../launcher3/dagger/PerDisplayModule.kt | 2 +- .../launcher3/taskbar/TaskbarManagerImpl.java | 2 +- .../com/android/quickstep/GestureState.java | 2 +- .../quickstep/OverviewCommandHelper.kt | 2 +- .../quickstep/OverviewComponentObserver.java | 2 +- .../quickstep/RecentsAnimationCallbacks.java | 2 +- .../android/quickstep/RecentsFilterState.java | 2 +- .../quickstep/TaskAnimationManager.java | 2 +- .../com/android/quickstep/TopTaskTracker.java | 2 +- .../quickstep/TouchInteractionService.java | 2 +- .../fallback/FallbackRecentsView.java | 4 +- .../fallback/window/RecentsWindowFlags.kt | 50 ++++++++++++------- .../quickstep/util/RecentsOrientedState.java | 2 +- .../android/quickstep/views/RecentsView.java | 2 +- 14 files changed, 45 insertions(+), 33 deletions(-) diff --git a/quickstep/src/com/android/launcher3/dagger/PerDisplayModule.kt b/quickstep/src/com/android/launcher3/dagger/PerDisplayModule.kt index b3ee903888..ee57bd636a 100644 --- a/quickstep/src/com/android/launcher3/dagger/PerDisplayModule.kt +++ b/quickstep/src/com/android/launcher3/dagger/PerDisplayModule.kt @@ -30,12 +30,12 @@ import com.android.app.displaylib.PerDisplayInstanceRepositoryImpl import com.android.app.displaylib.PerDisplayRepository import com.android.app.displaylib.SingleInstanceRepositoryImpl import com.android.app.displaylib.createDisplayLibComponent -import com.android.launcher3.Flags.enableOverviewOnConnectedDisplays import com.android.launcher3.util.coroutines.DispatcherProvider import com.android.quickstep.FallbackWindowInterface import com.android.quickstep.RecentsAnimationDeviceState import com.android.quickstep.RotationTouchHelper import com.android.quickstep.TaskAnimationManager +import com.android.quickstep.fallback.window.RecentsWindowFlags.enableOverviewOnConnectedDisplays import com.android.quickstep.fallback.window.RecentsWindowManager import com.android.quickstep.fallback.window.RecentsWindowManagerInstanceProvider import com.android.systemui.dagger.qualifiers.Background diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java index 1d72bcbb9f..7422971b5f 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java @@ -730,7 +730,7 @@ public class TaskbarManagerImpl implements DisplayDecorationListener { /** Creates a {@link TaskbarUIController} to use with non default displays. */ private TaskbarUIController createTaskbarUIControllerForNonDefaultDisplay(int displayId) { debugPrimaryTaskbar("createTaskbarUIControllerForNonDefaultDisplay"); - if (RecentsWindowFlags.Companion.getEnableOverviewInWindow()) { + if (RecentsWindowFlags.getEnableOverviewInWindow()) { RecentsViewContainer rvc = mRecentsWindowManagerRepository.get(displayId); if (rvc != null) { return createTaskbarUIControllerForRecentsViewContainer(rvc); diff --git a/quickstep/src/com/android/quickstep/GestureState.java b/quickstep/src/com/android/quickstep/GestureState.java index a0bd197748..e5a97043eb 100644 --- a/quickstep/src/com/android/quickstep/GestureState.java +++ b/quickstep/src/com/android/quickstep/GestureState.java @@ -323,7 +323,7 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL */ public boolean useSyntheticRecentsTransition() { return mRunningTask.isHomeTask() - && RecentsWindowFlags.Companion.getEnableOverviewInWindow(); + && RecentsWindowFlags.getEnableOverviewInWindow(); } /** diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.kt b/quickstep/src/com/android/quickstep/OverviewCommandHelper.kt index e261fa8c46..1e25e5ba42 100644 --- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.kt +++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.kt @@ -52,7 +52,7 @@ import com.android.quickstep.OverviewCommandHelper.CommandType.SHOW_ALT_TAB import com.android.quickstep.OverviewCommandHelper.CommandType.SHOW_WITH_FOCUS import com.android.quickstep.OverviewCommandHelper.CommandType.TOGGLE import com.android.quickstep.OverviewCommandHelper.CommandType.TOGGLE_OVERVIEW_PREVIOUS -import com.android.quickstep.fallback.window.RecentsWindowFlags.Companion.enableOverviewInWindow +import com.android.quickstep.fallback.window.RecentsWindowFlags.enableOverviewInWindow import com.android.quickstep.util.ActiveGestureLog import com.android.quickstep.util.ActiveGestureProtoLogProxy import com.android.quickstep.views.RecentsView diff --git a/quickstep/src/com/android/quickstep/OverviewComponentObserver.java b/quickstep/src/com/android/quickstep/OverviewComponentObserver.java index e51a6286b7..37d6bff681 100644 --- a/quickstep/src/com/android/quickstep/OverviewComponentObserver.java +++ b/quickstep/src/com/android/quickstep/OverviewComponentObserver.java @@ -21,11 +21,11 @@ import static android.content.Intent.ACTION_PACKAGE_CHANGED; import static android.content.Intent.ACTION_PACKAGE_REMOVED; import static android.view.Display.DEFAULT_DISPLAY; -import static com.android.launcher3.Flags.enableOverviewOnConnectedDisplays; import static com.android.launcher3.config.FeatureFlags.SEPARATE_RECENTS_ACTIVITY; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.quickstep.fallback.window.RecentsWindowFlags.enableFallbackOverviewInWindow; import static com.android.quickstep.fallback.window.RecentsWindowFlags.enableLauncherOverviewInWindow; +import static com.android.quickstep.fallback.window.RecentsWindowFlags.enableOverviewOnConnectedDisplays; import static com.android.systemui.shared.system.PackageManagerWrapper.ACTION_PREFERRED_ACTIVITY_CHANGED; import android.content.ActivityNotFoundException; diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java b/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java index ecde37b986..1cdaa184d7 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java @@ -113,7 +113,7 @@ public class RecentsAnimationCallbacks implements boolean isOpeningHome = Arrays.stream(appTargets).filter(app -> app.mode == MODE_OPENING && app.windowConfiguration.getActivityType() == ACTIVITY_TYPE_HOME) .count() > 0; - if (appCount == 0 && (!RecentsWindowFlags.Companion.getEnableOverviewInWindow() + if (appCount == 0 && (!RecentsWindowFlags.getEnableOverviewInWindow() || isOpeningHome)) { ActiveGestureProtoLogProxy.logOnRecentsAnimationStartCancelled(); // Edge case, if there are no closing app targets, then Launcher has nothing to handle diff --git a/quickstep/src/com/android/quickstep/RecentsFilterState.java b/quickstep/src/com/android/quickstep/RecentsFilterState.java index 8fcf534726..fa12d52032 100644 --- a/quickstep/src/com/android/quickstep/RecentsFilterState.java +++ b/quickstep/src/com/android/quickstep/RecentsFilterState.java @@ -16,7 +16,7 @@ package com.android.quickstep; -import static com.android.launcher3.Flags.enableOverviewOnConnectedDisplays; +import static com.android.quickstep.fallback.window.RecentsWindowFlags.enableOverviewOnConnectedDisplays; import androidx.annotation.Nullable; diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java index 1071322e6a..85a7cd7a1f 100644 --- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java +++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java @@ -340,7 +340,7 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn if (containerInterface.getCreatedContainer() instanceof RecentsWindowManager recentsWindowManager - && RecentsWindowFlags.Companion.getEnableOverviewInWindow()) { + && RecentsWindowFlags.getEnableOverviewInWindow()) { mRecentsAnimationStartPending = getSystemUiProxy().startRecentsActivity(intent, options, mCallbacks, gestureState.useSyntheticRecentsTransition(), null, mDisplayId); recentsWindowManager.startRecentsWindow(mCallbacks); diff --git a/quickstep/src/com/android/quickstep/TopTaskTracker.java b/quickstep/src/com/android/quickstep/TopTaskTracker.java index c4d6b1ad15..136b91367f 100644 --- a/quickstep/src/com/android/quickstep/TopTaskTracker.java +++ b/quickstep/src/com/android/quickstep/TopTaskTracker.java @@ -24,7 +24,7 @@ import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.INVALID_DISPLAY; -import static com.android.launcher3.Flags.enableOverviewOnConnectedDisplays; +import static com.android.quickstep.fallback.window.RecentsWindowFlags.enableOverviewOnConnectedDisplays; import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT; import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_TYPE_A; import static com.android.wm.shell.Flags.enableShellTopTaskTracking; diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index 35c528af0e..2c057cec40 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -24,7 +24,7 @@ import static android.view.MotionEvent.ACTION_POINTER_UP; import static android.view.MotionEvent.ACTION_UP; import static com.android.launcher3.Flags.enableCursorHoverStates; -import static com.android.launcher3.Flags.enableOverviewOnConnectedDisplays; +import static com.android.quickstep.fallback.window.RecentsWindowFlags.enableOverviewOnConnectedDisplays; import static com.android.launcher3.LauncherPrefs.backedUpItem; import static com.android.launcher3.MotionEventsUtils.isTrackpadMotionEvent; import static com.android.launcher3.MotionEventsUtils.isTrackpadMultiFingerSwipe; diff --git a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java index 1918ff657a..3094ca2e72 100644 --- a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java +++ b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java @@ -82,7 +82,7 @@ public class FallbackRecentsView getContainerInterface(int displayId) { - return RecentsWindowFlags.Companion.getEnableOverviewInWindow() + return RecentsWindowFlags.getEnableOverviewInWindow() ? FallbackWindowInterface.REPOSITORY_INSTANCE.get(mContext).get(displayId) : FallbackActivityInterface.INSTANCE; } @@ -309,7 +309,7 @@ public class FallbackRecentsView { final TransformParams params = remoteTargetHandle.getTransformParams(); - if (RecentsWindowFlags.Companion.getEnableOverviewInWindow()) { + if (RecentsWindowFlags.getEnableOverviewInWindow()) { params.setHomeBuilderProxy((builder, app, transformParams) -> { mTmpMatrix.setScale( 1f, 1f, app.localBounds.exactCenterX(), app.localBounds.exactCenterY());