diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java index 21e3ea0f2c..f3ad0f695a 100644 --- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java +++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java @@ -25,6 +25,7 @@ import static com.android.launcher3.util.SplitConfigurationOptions.DEFAULT_SPLIT import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT; import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT; +import android.annotation.NonNull; import android.app.ActivityOptions; import android.app.ActivityThread; import android.app.PendingIntent; @@ -163,7 +164,8 @@ public class SplitSelectStateController { : new int[]{taskId2, taskId1}; if (TaskAnimationManager.ENABLE_SHELL_TRANSITIONS) { RemoteSplitLaunchTransitionRunner animationRunner = - new RemoteSplitLaunchTransitionRunner(taskId1, taskPendingIntent, taskId2); + new RemoteSplitLaunchTransitionRunner(taskId1, taskPendingIntent, taskId2, + callback); mSystemUiProxy.startTasks(taskIds[0], null /* mainOptions */, taskIds[1], null /* sideOptions */, STAGE_POSITION_BOTTOM_OR_RIGHT, splitRatio, new RemoteTransitionCompat(animationRunner, MAIN_EXECUTOR, @@ -210,19 +212,26 @@ public class SplitSelectStateController { private final int mInitialTaskId; private final PendingIntent mInitialTaskPendingIntent; private final int mSecondTaskId; + private final Consumer mSuccessCallback; RemoteSplitLaunchTransitionRunner(int initialTaskId, PendingIntent initialTaskPendingIntent, - int secondTaskId) { + int secondTaskId, Consumer callback) { mInitialTaskId = initialTaskId; mInitialTaskPendingIntent = initialTaskPendingIntent; mSecondTaskId = secondTaskId; + mSuccessCallback = callback; } @Override - public void startAnimation(IBinder transition, TransitionInfo info, - SurfaceControl.Transaction t, Runnable finishCallback) { + public void startAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info, + @NonNull SurfaceControl.Transaction t, @NonNull Runnable finishCallback) { TaskViewUtils.composeRecentsSplitLaunchAnimator(mInitialTaskId, - mInitialTaskPendingIntent, mSecondTaskId, info, t, finishCallback); + mInitialTaskPendingIntent, mSecondTaskId, info, t, () -> { + finishCallback.run(); + if (mSuccessCallback != null) { + mSuccessCallback.accept(true); + } + }); // After successful launch, call resetState resetState(); } diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index df423559fe..de33ae5f87 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -93,13 +93,6 @@ public final class FeatureFlags { getDebugFlag("ENABLE_FLOATING_SEARCH_BAR", false, "Keep All Apps search bar at the bottom (but above keyboard if open)"); - public static final BooleanFlag INJECT_WEB_TOP = new DeviceFlag("INJECT_WEB_TOP", false, - "Show web suggestions on top of the search results"); - - public static final BooleanFlag USE_FALLBACK_APP_SEARCH = new DeviceFlag( - "USE_FALLBACK_APP_SEARCH", false, - "Use fallback launcher app search results instead of AiAi app results"); - public static final BooleanFlag ENABLE_QUICK_SEARCH = new DeviceFlag("ENABLE_QUICK_SEARCH", true, "Use quick search behavior.");