diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java index 7786a8f55b..113cdec9d0 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java @@ -31,6 +31,7 @@ import android.graphics.PointF; import android.graphics.Rect; import android.graphics.RectF; import android.os.Build; +import android.util.Log; import android.util.Pair; import android.view.MotionEvent; import android.view.View; @@ -48,6 +49,7 @@ import com.android.launcher3.anim.AnimatorPlaybackController; import com.android.launcher3.graphics.RotationMode; import com.android.launcher3.model.PagedViewOrientedState; import com.android.launcher3.states.RotationHelper; +import com.android.launcher3.testing.TestProtocol; import com.android.launcher3.touch.PagedOrientationHandler; import com.android.launcher3.touch.PortraitPagedViewHandler; import com.android.launcher3.util.VibratorWrapper; @@ -198,18 +200,33 @@ public abstract class BaseSwipeUpHandler resultCallback) { + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.NO_START_FROM_RECENTS, "startNewTask1"); + } // Launch the task user scrolled to (mRecentsView.getNextPage()). if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { // We finish recents animation inside launchTask() when live tile is enabled. mRecentsView.getNextPageTaskView().launchTask(false /* animate */, true /* freezeTaskList */); } else { + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.NO_START_FROM_RECENTS, "startNewTask2"); + } int taskId = mRecentsView.getNextPageTaskView().getTask().key.id; mFinishingRecentsAnimationForNewTaskId = taskId; mRecentsAnimationController.finish(true /* toRecents */, () -> { + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.NO_START_FROM_RECENTS, "onFinishComplete1"); + } if (!mCanceled) { + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.NO_START_FROM_RECENTS, "onFinishComplete2"); + } TaskView nextTask = mRecentsView.getTaskView(taskId); if (nextTask != null) { + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.NO_START_FROM_RECENTS, "onFinishComplete3"); + } nextTask.launchTask(false /* animate */, true /* freezeTaskList */, success -> { resultCallback.accept(success); diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherSwipeHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherSwipeHandler.java index 804bc956b1..b3b0b0263a 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherSwipeHandler.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherSwipeHandler.java @@ -47,6 +47,7 @@ import android.graphics.PointF; import android.graphics.RectF; import android.os.Build; import android.os.SystemClock; +import android.util.Log; import android.view.View; import android.view.View.OnApplyWindowInsetsListener; import android.view.ViewTreeObserver.OnDrawListener; @@ -65,6 +66,7 @@ import com.android.launcher3.anim.AnimationSuccessListener; import com.android.launcher3.anim.AnimatorPlaybackController; import com.android.launcher3.anim.Interpolators; import com.android.launcher3.logging.UserEventDispatcher; +import com.android.launcher3.testing.TestProtocol; import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Direction; import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Touch; import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType; @@ -967,6 +969,9 @@ public class LauncherSwipeHandler windowAnim.addListener(new AnimationSuccessListener() { @Override public void onAnimationSuccess(Animator animator) { + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.NO_START_FROM_RECENTS, "onAnimationSuccess"); + } if (mRecentsAnimationController == null) { // If the recents animation is interrupted, we still end the running // animation (not canceled) so this is still called. In that case, we can @@ -1190,6 +1195,9 @@ public class LauncherSwipeHandler } private void switchToScreenshot() { + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.NO_START_FROM_RECENTS, "switchToScreenshot"); + } final int runningTaskId = mGestureState.getRunningTaskId(); if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { if (mRecentsAnimationController != null) { diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java b/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java index 0f98b325fa..783978d6a8 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java @@ -19,11 +19,13 @@ import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import android.graphics.Rect; import android.util.ArraySet; +import android.util.Log; import androidx.annotation.BinderThread; import androidx.annotation.UiThread; import com.android.launcher3.Utilities; +import com.android.launcher3.testing.TestProtocol; import com.android.launcher3.util.Preconditions; import com.android.systemui.shared.recents.model.ThumbnailData; import com.android.systemui.shared.system.RecentsAnimationControllerCompat; @@ -89,6 +91,9 @@ public class RecentsAnimationCallbacks implements RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, Rect homeContentInsets, Rect minimizedHomeBounds) { + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.NO_START_FROM_RECENTS, "onAnimationStart"); + } RecentsAnimationTargets targets = new RecentsAnimationTargets(appTargets, wallpaperTargets, homeContentInsets, minimizedHomeBounds); mController = new RecentsAnimationController(animationController, diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java index 6902e37613..b04a1ae8d1 100644 --- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java +++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java @@ -26,6 +26,7 @@ import androidx.annotation.UiThread; import com.android.launcher3.Utilities; import com.android.launcher3.config.FeatureFlags; +import com.android.launcher3.testing.TestProtocol; import com.android.systemui.shared.recents.model.ThumbnailData; import com.android.systemui.shared.system.ActivityManagerWrapper; @@ -52,6 +53,9 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn @UiThread public RecentsAnimationCallbacks startRecentsAnimation(GestureState gestureState, Intent intent, RecentsAnimationCallbacks.RecentsAnimationListener listener) { + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.NO_START_FROM_RECENTS, "startRecentsAnimation"); + } // Notify if recents animation is still running if (mController != null) { String msg = "New recents animation started before old animation completed"; diff --git a/src/com/android/launcher3/testing/TestProtocol.java b/src/com/android/launcher3/testing/TestProtocol.java index e70b570a5e..9f20df66ce 100644 --- a/src/com/android/launcher3/testing/TestProtocol.java +++ b/src/com/android/launcher3/testing/TestProtocol.java @@ -97,4 +97,5 @@ public final class TestProtocol { public static final String NO_BACKGROUND_TO_OVERVIEW_TAG = "b/138251824"; public static final String APP_NOT_DISABLED = "b/139891609"; public static final String NO_SCROLL_END_WIDGETS = "b/152354290"; + public static final String NO_START_FROM_RECENTS = "b/152658211"; }