Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 031ed9b5 authored by Evan Rosky's avatar Evan Rosky Committed by Android (Google) Code Review
Browse files

Merge "Revert "Transitions CUJ associate to animation thread"" into main

parents b297de40 2c61bc4e
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -793,7 +793,6 @@ public abstract class WMShellBaseModule {
            @ShellMainThread ShellExecutor mainExecutor,
            @ShellMainThread Handler mainHandler,
            @ShellAnimationThread ShellExecutor animExecutor,
            @ShellAnimationThread Handler animHandler,
            RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer,
            HomeTransitionObserver homeTransitionObserver,
            FocusTransitionObserver focusTransitionObserver) {
@@ -803,7 +802,7 @@ public abstract class WMShellBaseModule {
        }
        return new Transitions(context, shellInit, shellCommandHandler, shellController, organizer,
                pool, displayController, displayInsetsController, mainExecutor, mainHandler,
                animExecutor, animHandler, rootTaskDisplayAreaOrganizer, homeTransitionObserver,
                animExecutor, rootTaskDisplayAreaOrganizer, homeTransitionObserver,
                focusTransitionObserver);
    }

+7 −9
Original line number Diff line number Diff line
@@ -131,7 +131,6 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
    private final DisplayController mDisplayController;
    private final Context mContext;
    private final Handler mMainHandler;
    private final Handler mAnimHandler;
    private final ShellExecutor mMainExecutor;
    private final ShellExecutor mAnimExecutor;
    private final TransitionAnimation mTransitionAnimation;
@@ -170,7 +169,6 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
            @NonNull TransactionPool transactionPool,
            @NonNull ShellExecutor mainExecutor, @NonNull Handler mainHandler,
            @NonNull ShellExecutor animExecutor,
            @NonNull Handler animHandler,
            @NonNull RootTaskDisplayAreaOrganizer rootTDAOrganizer,
            @NonNull InteractionJankMonitor interactionJankMonitor) {
        mDisplayController = displayController;
@@ -179,7 +177,6 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
        mMainHandler = mainHandler;
        mMainExecutor = mainExecutor;
        mAnimExecutor = animExecutor;
        mAnimHandler = animHandler;
        mTransitionAnimation = new TransitionAnimation(context, false /* debug */, Transitions.TAG);
        mCurrentUserId = UserHandle.myUserId();
        mDevicePolicyManager = mContext.getSystemService(DevicePolicyManager.class);
@@ -644,14 +641,15 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
        startTransaction.apply();

        final boolean hasAnimations = !animations.isEmpty();
        // now start animations. they are started on another thread, so we have to post them
        // *after* applying the startTransaction
        if (hasAnimations) {
            mAnimExecutor.execute(() -> {
            if (isTaskTransition) {
                mInteractionJankMonitor.begin(info.getRoot(0).getLeash(), mContext,
                            mAnimHandler, CUJ_DEFAULT_TASK_TO_TASK_ANIMATION);
                        mMainHandler, CUJ_DEFAULT_TASK_TO_TASK_ANIMATION);
            }

            // now start animations. they are started on another thread, so we have to post them
            // *after* applying the startTransaction
            mAnimExecutor.execute(() -> {
                for (int i = 0; i < animations.size(); ++i) {
                    animations.get(i).start();
                }
+2 −6
Original line number Diff line number Diff line
@@ -217,7 +217,6 @@ public class Transitions implements RemoteCallable<Transitions>,
    private final Context mContext;
    private final ShellExecutor mMainExecutor;
    private final ShellExecutor mAnimExecutor;
    private final Handler mAnimHandler;
    private final TransitionPlayerImpl mPlayerImpl;
    private final DefaultTransitionHandler mDefaultTransitionHandler;
    private final RemoteTransitionHandler mRemoteTransitionHandler;
@@ -322,12 +321,11 @@ public class Transitions implements RemoteCallable<Transitions>,
            @NonNull ShellExecutor mainExecutor,
            @NonNull Handler mainHandler,
            @NonNull ShellExecutor animExecutor,
            @NonNull Handler animHandler,
            @NonNull HomeTransitionObserver homeTransitionObserver,
            @NonNull FocusTransitionObserver focusTransitionObserver) {
        this(context, shellInit, new ShellCommandHandler(), shellController, organizer, pool,
                displayController, displayInsetsController, mainExecutor, mainHandler, animExecutor,
                animHandler, new RootTaskDisplayAreaOrganizer(mainExecutor, context, shellInit),
                new RootTaskDisplayAreaOrganizer(mainExecutor, context, shellInit),
                homeTransitionObserver, focusTransitionObserver);
    }

@@ -342,7 +340,6 @@ public class Transitions implements RemoteCallable<Transitions>,
            @NonNull ShellExecutor mainExecutor,
            @NonNull Handler mainHandler,
            @NonNull ShellExecutor animExecutor,
            @NonNull Handler animHandler,
            @NonNull RootTaskDisplayAreaOrganizer rootTDAOrganizer,
            @NonNull HomeTransitionObserver homeTransitionObserver,
            @NonNull FocusTransitionObserver focusTransitionObserver) {
@@ -350,12 +347,11 @@ public class Transitions implements RemoteCallable<Transitions>,
        mContext = context;
        mMainExecutor = mainExecutor;
        mAnimExecutor = animExecutor;
        mAnimHandler = animHandler;
        mDisplayController = displayController;
        mPlayerImpl = new TransitionPlayerImpl();
        mDefaultTransitionHandler = new DefaultTransitionHandler(context, shellInit,
                displayController, displayInsetsController, pool, mainExecutor, mainHandler,
                animExecutor, mAnimHandler, rootTDAOrganizer, InteractionJankMonitor.getInstance());
                animExecutor, rootTDAOrganizer, InteractionJankMonitor.getInstance());
        mRemoteTransitionHandler = new RemoteTransitionHandler(mMainExecutor);
        mShellCommandHandler = shellCommandHandler;
        mShellController = shellController;
+1 −2
Original line number Diff line number Diff line
@@ -177,7 +177,6 @@ public class StageCoordinatorTests extends ShellTestCase {
    private final TestShellExecutor mMainExecutor = new TestShellExecutor();
    private final ShellExecutor mAnimExecutor = new TestShellExecutor();
    private final Handler mMainHandler = new Handler(Looper.getMainLooper());
    private final Handler mAnimHandler = mock(Handler.class);
    private final DisplayAreaInfo mDisplayAreaInfo = new DisplayAreaInfo(new MockToken().token(),
            DEFAULT_DISPLAY, 0);
    private final ActivityManager.RunningTaskInfo mMainChildTaskInfo =
@@ -601,7 +600,7 @@ public class StageCoordinatorTests extends ShellTestCase {
        ShellInit shellInit = new ShellInit(mMainExecutor);
        final Transitions t = new Transitions(mContext, shellInit, mock(ShellController.class),
                mTaskOrganizer, mTransactionPool, mock(DisplayController.class),
                mDisplayInsetsController, mMainExecutor, mMainHandler, mAnimExecutor, mAnimHandler,
                mDisplayInsetsController, mMainExecutor, mMainHandler, mAnimExecutor,
                mock(HomeTransitionObserver.class), mock(FocusTransitionObserver.class));
        shellInit.init();
        return t;
+1 −2
Original line number Diff line number Diff line
@@ -105,8 +105,7 @@ public class DefaultTransitionHandlerTest extends ShellTestCase {
        mTransitionHandler = new DefaultTransitionHandler(
                mContext, mShellInit, mDisplayController, mDisplayInsetsController,
                mTransactionPool, mMainExecutor, mMainHandler, mAnimExecutor,
                mock(Handler.class), mRootTaskDisplayAreaOrganizer,
                mock(InteractionJankMonitor.class));
                mRootTaskDisplayAreaOrganizer, mock(InteractionJankMonitor.class));
        mShellInit.init();
    }

Loading